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

Posted 无尘-玩偶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了typescript装饰器-方法参数装饰器相关的知识,希望对你有一定的参考价值。

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装饰器-方法参数装饰器的主要内容,如果未能解决你的问题,请参考以下文章

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

08_TypeScript装饰器

从0开始的TypeScriptの十二:装饰器

从0开始的TypeScriptの十二:装饰器

typescript 装饰器

TypeScript 素描 - 装饰器