class Test {
@router('/user/list') // 打印/user/list
getX() {
return '你好';
}
@router('/user/detail') // 打印/user/detail
getY() {
return 'nodejs'
}
}
function router(value: string) {
return function (target: any, propertyKey: string, descriptor: PropertyDescriptor) {
/**
* 第一次调用:/user/list
* 第二次调用:/user/detail
*/
console.log(value)
/**
* 第一次调用:
* {
* value: [Function: getX],
* writable: true,
* enumerable: false,
* configurable: true
* }
* 第二次次调用:
* {
* value: [Function: getY],
* writable: true,
* enumerable: false,
* configurable: true
* }
*/
console.log(descriptor)
};
}
console.log('开始')
let test = new Test()
console.log(test) // Test {}
console.log(test.getX()) // 你好
console.log(test.getY()) // nodejs
typescript装饰器-方法参数装饰器
最新推荐文章于 2024-08-21 14:09:37 发布