let value:string
Object.defineProperty(target,propertyKey,{
set:(v)=>{
value = v
},
get:()=>{
return ‘寒冰射手’+value
}
})
}
class Hero {
@nameDecorate
name:string
}
let hb = new Hero()
hb.name = ‘艾希’
console.log(hb.name);
打印结果:
属性装饰器函数工厂实现
代码目的:
根据工厂装饰器key,返回json,在网络请求的时候经常会占用关键字,根据工厂装饰器key确定json 属性最终名称。
代码实现:
let json:{} = {}
const modelToJsonKey:(jsonKey:string)=>PropertyDecorator = (jsonKey)=>{
return (target:Object,pkey:string)=>{