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如果有多个同样的装饰器,会先执行后面的。
小礼物走一波,支持作者
赏还没有人赞赏,支持一波吧