typescript装饰器执行顺序
dearweb 发布:2021-08-01 17:52:31阅读:typescript装饰器执行顺序:属性 -> 方法 -> 方法参数 -> 类,闲话不多说,上代码
function logClass1(params:string){ return function(target:any){ console.log('类装饰器1') } } function logClass2(params:string){ return function(target:any){ console.log('类装饰器2') } } function logAttribute(params?:string){ return function(target:any,attrName:any){ console.log('属性装饰器') } } function logMethod(params?:string){ return function(target:any,attrName:any,desc:any){ console.log('方法装饰器') } } function logParams1(params?:string){ return function(target:any,attrName:any,desc:any){ console.log('方法参数装饰器1') } } function logParams2(params?:string){ return function(target:any,attrName:any,desc:any){ console.log('方法参数装饰器2') } } @logClass1('wuhan.com') @logClass2('wuhan.com2') class HttpClient { @logAttribute() public url:any| undefined constructor() { } @logMethod() getData(uuid:any){ return true } setData(@logParams1() attr1:any,@logParams2() attr2:any){ } } let http =new HttpClient(); 属性装饰器 方法装饰器 方法参数装饰器2 方法参数装饰器1 类装饰器2 类装饰器1
如果有多个同样的装饰器,会先执行后面的。
小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧