ts 装饰器学习总结

本文总结了TypeScript中的装饰器语法,包括类装饰器、方法装饰器、属性装饰器和参数装饰器。重点讲解了用得最多的‘方法装饰器’,并提供了实用案例,帮助读者深入理解装饰器的使用。
摘要由CSDN通过智能技术生成

装饰器语法

  1. 没参数 @方法名称
  2. 有参数 @方法名称(参数)
    ts装饰器以关键字@开头 必须在class 中
    装饰器就是一个函数 在ts编译成js时执行

1.类装饰器

//定义装饰器 
const testClass = (params?:any)=>(target:any)=>{
   
	//设置目标类Test value 为装饰器传进来的参数
    target.prototype.value = params
}
// 调用普通装饰器
@testClass('测试') 
class Test {
   
    value:any
    
}
let test = new Test()
console.log(test.value)
类装饰器实用案例

不太容易看懂,建议跟着代码敲一遍。

/**
 * 类装饰器重载构造函数
 * 类装饰器表达式会在运行时当作函数被调用,类的构造函数作为其唯一的参数
 * 如果类装饰器返回一个值,它会使用提供的构造函数来替换类的声明
 * @param params 参数
 * @param target HttpClient 原型
 * @returns 用返回的类重写构造函数
 */
 
const logClass = (params:any)=> (target:any)=>{
    
  
    return class  extends target{
   
        params = params
        apiUrl = '修改后的apiUrl'
        testAttribute = '测试添加属性' 
        getData(){
    // 覆盖 getData 方法
            this.apiUrl += '----'
            console.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值