当前位置: 首页 > news >正文

.net网站开发面试做网站经营流量

.net网站开发面试,做网站经营流量,php网站连接数据库,做宣传海报的网站Decorator 装饰器是一项实验性特性#xff0c;在未来的版本中可能会发生改变 它们不仅增加了代码的可读性#xff0c;清晰地表达了意图#xff0c;而且提供一种方便的手段#xff0c;增加或修改类的功能 若要启用实验性的装饰器特性#xff0c;你必须在命令行或tsconfig…Decorator 装饰器是一项实验性特性在未来的版本中可能会发生改变 它们不仅增加了代码的可读性清晰地表达了意图而且提供一种方便的手段增加或修改类的功能 若要启用实验性的装饰器特性你必须在命令行或tsconfig.json里启用编译器选项 类装饰器  ClassDecorator /*** 类装饰器 ClassDecorator* param target 形参 target 是形参可以是任何名字* param result 返回结果构造函数* param name* */ // const Base:ClassDecorator (target){ // target.prototype.heming 鹤鸣 // target.prototype.fn () { // console.log(装饰器) // } // }// 如果用户要传参数可以使用闭包 或者 函数柯里化 或者 工厂函数 const Base (name:string) {const fn: ClassDecorator (target) {target.prototype.heming nametarget.prototype.fn () {console.log(装饰器)}}return fn }Base(鹤鸣) class Http {}const http new Http() as any console.log(http.heming)// 或者怕不兼容可以 class Http{}const http new Http() as any Base(Http) http.fn() 方法装饰器 MethodDecorator  /*** 方法装饰器 MethodDecorator 接受三个参数* param target 原型对象 不再是构造函数* param key 方法的名字* param descriptor PropertyDescriptor 描述符* */ const Get (url:string) {const fn:MethodDecorator (target:any, key , descriptor:PropertyDescriptor) {axios.get(url).then((res) {descriptor.value(res.data)})}return fn }const Post (url:string) {const fn:MethodDecorator (target:any,key, descriptor:PropertyDescriptor) {axios.post(url).then((res){descriptor.value(res.data)})} }Base(鹤鸣) class Http {Get(https://api.apiopen.top/api/getHaoKanVideo?page0size10)getList(Result() data: any) {console.log(data.result.list, data)}Post(https://api.apiopen.top/api/getHaoKanVideo?page0size10)create() {} } 3.参数装饰器 /*** 参数装饰器 ParameterDecorator* param target 原型对象* param key 方法名* param index 数据所在的位置* param reflect-metadata 数据的反射* */const Result () {const fn: ParameterDecorator (target, key, index) {Reflect.defineMetadata(key, result, target)}return fn }Base(鹤鸣) class Http {Nameheming: stringconstructor() {this.heming 鹤鸣}Get(https://api.apiopen.top/api/getHaoKanVideo?page0size10)getList(Result() data: any) {console.log(data, data)}// Post(https://api.apiopen.top/api/getHaoKanVideo?page0size10)create() {} }const http new Http() as any 综合代码 // 1.类装饰器 ClassDecorator target 返回的是一个构造函数 //2.属性装饰器 PropertyDecorator //3.参数装饰器 ParameterDecorator // 4.方法装饰器 MethodDecorator PropertyDescriptor // 5.装饰器工长 // 6. import reflect-metadata // 7.axios import axios from axios; import reflect-metadata/*** 类装饰器 ClassDecorator* param target 形参 target 是形参可以是任何名字* param result 返回结果构造函数* param name* */ // const Base:ClassDecorator (target){ // target.prototype.heming 鹤鸣 // target.prototype.fn () { // console.log(装饰器) // } // }// 如果用户要传参数可以使用闭包 或者 函数柯里化 或者 工厂函数 const Base (name: string) {const fn: ClassDecorator (target) {target.prototype.heming nametarget.prototype.fn () {// console.log(装饰器)}}return fn }/*** 方法装饰器 MethodDecorator 接受三个参数* param target 原型对象 不再是构造函数* param key 方法的名字* param descriptor PropertyDescriptor 描述符* */ const Get (url: string) {const fn: MethodDecorator (target: any, _key: any, descriptor: PropertyDescriptor) {let key Reflect.getMetadata(key, target)axios.get(url).then((res) {descriptor.value(key ? res.data[key] : res.data)})}return fn }// const Post (url:string) { // const fn:MethodDecorator (target:any,key, descriptor:PropertyDescriptor) { // axios.post(url).then((res){ // descriptor.value(res.data) // }) // } // }/*** 参数装饰器 ParameterDecorator* param target 原型对象* param key 方法名* param index 数据所在的位置* param reflect-metadata 数据的反射* */const Result () {const fn: ParameterDecorator (target, key, index) {Reflect.defineMetadata(key, result, target)}return fn }/*** 属性装饰器 PropertyDecorator* param target 原型对象* param key 属性* */ const Name: PropertyDecorator (target, key) {console.log(target, key) }Base(鹤鸣) class Http {Nameheming: stringconstructor() {this.heming 鹤鸣}Get(https://api.apiopen.top/api/getHaoKanVideo?page0size10)getList(Result() data: any) {console.log(data, data)}// Post(https://api.apiopen.top/api/getHaoKanVideo?page0size10)create() {} }const http new Http() as any // console.log(http.heming)// 或者怕不兼容可以 // class Http{ // // } // // const http new Http() as any // Base(Http) // http.fn()
http://www.hkea.cn/news/14490245/

相关文章:

  • 京东的电子商务网站建设龙岩网站建设费用
  • 可以做科学模拟实验的网站江门外贸网站推广方案
  • 服务号网站建设wordpress add_filter
  • 如何给网站增加图标做同款的网站
  • 太原网站建设丿薇手机网站模板 怎样做
  • 个人备案做运营网站做网站ie缓存
  • 做一个网站开发项目有哪些阶段网络舆情管控措施
  • 怎么能加强门户网站建设端午节网页制作素材
  • 农村网站建设调查报告wordpress外观编辑
  • 设计一个网站的价格wordpress数据列表模板
  • 公司做网站可以用个人域名展厅设计的技术支持
  • 做装修设计的网站100件智能创意产品设计
  • 网站制作培训费用怎样使用模板建立网站
  • 杭州专业网站设计搜索建站网
  • 怎么用vs2015做网站网站推广策略
  • 网站最新一次改版时间什么意思网站建设尢首先金手指
  • asp.net 知名网站网站建设现在市场大不大
  • 手机微网站与微官网成都网站推广
  • 怎样将视频放在网站里做seo服务外包公司
  • 呼市网站优化wordpress 手机 模板
  • 免费注册网站软件做网站图标的软件
  • 东莞个人做网站创意设计公司架构
  • 做外贸网站多少钱桐乡建设规划局网站
  • 做汉字的教育网站电商运营公司排名
  • 上海网站公司设计网站正在备案中
  • 自媒体网站源码上海企业网站营销电话
  • 深圳做响应式网站惠安县建设局网站
  • 冒用网站备案号建设网站咨询微平台
  • 成都网站推广排名俄语网站模板
  • 北大学风建设网站条件查询 php网站源码