假设存在一个类,现在需要在这个类当中添加一个消息传的方法,但是还不能改变这个类的结构,就可以使用装饰器。

    代码如下:

    1. const MessageDecorator = (target: Function) => {
    2. target.prototype.sendMessage = (): string => {
    3. return JSON.stringify({
    4. code: '0100',
    5. errno: 0,
    6. message: '登录成功',
    7. });
    8. };
    9. };
    10. @MessageDecorator
    11. class Login {
    12. public login() {
    13. console.log(
    14. '-------------------------------业务处理--------------------------------'
    15. );
    16. console.log('登录业务');
    17. // 调用装饰器中的方法
    18. const info = this.sendMessage();
    19. console.log(info);
    20. }
    21. sendMessage() {}
    22. }
    23. // 调用login方法
    24. new Login().login();

    如果还有其他的类需要添加消息提示,可以很轻松的在类上添加装饰器。