首页 > 其他 > 详细

typescript装饰器-方法参数装饰器

时间:2021-06-22 00:05:31      阅读:53      评论:0      收藏:0      [点我收藏+]
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装饰器-方法参数装饰器

原文:https://www.cnblogs.com/wuchen-wanou/p/14915624.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!