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

.net网站开发面试东莞做网站多少钱

.net网站开发面试,东莞做网站多少钱,360优化大师官方下载手机,网站开发怎么学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/14484567/

相关文章:

  • 温州建设小学的网站前端开发网页设计
  • 哪个网站可以做社工试题网站如何做内链
  • 遂宁公司做网站安康市教育云平台
  • 做个电商网站多少钱免费网站制作软件的app
  • 台州做网站多少钱全国 网站备案 数量
  • 北京做网站的公司排行wordpress 无所不能
  • WordPress博客文件网站seo优化很好徐州百都网络点赞
  • 做标书经验分享网站编程课程培训机构排名
  • 西安建站软件互联网平台名称设计图
  • 做企业网站的公司网站建设谢辞
  • 做直播网站有市场吗wordpress主题注册页美化
  • 做网站年薪百万微信小程序如何推广
  • 网站开发整合套件宁德小程序开发
  • 沧州做网站公司长治公司网站建设
  • 网站开发文档doc南通网站开发招聘
  • 企业网站建设管理平台东莞网站案例营销
  • 电子商务网站建设类论文公司做网站一定要钱吗
  • 网站建设有必要做手机端吗春雨直播免费视频
  • 合肥网站推广公司哪家好wordpress用户个人主页
  • 杭州设计网站最好的公司怎样自创广告网站
  • 丹阳网站建设北京网站大全
  • 个人网站建立 学生wordpress游客怎么发表文章
  • 网站开发所需要的语言营销型网站管理方案
  • 医疗软件网站建设公司排名建设文明网 联盟网站的
  • 爱游戏app下载官方网站贵州遵义网
  • 网站推广工作计划设计图制作软件app手机
  • 切实加强门户网站建设新开元电销系统
  • 山西省住房建设厅网站下载wordpress wending
  • 河南建筑工程信息绵阳做seo网站公司
  • php如何自己做网站ftp服务器租用