Typescript装饰器问题

在typescript中用装饰器,对某个class上增加一些方法。


//Decorator

export default function eventDecorator(target: EventEmitterType) {

    target.prototype.on = __event.on.bind(__event)

    target.prototype.off = __event.off.bind(__event)

    target.prototype.remove = __event.remove.bind(__event)

    target.prototype.Events = __event.Events

    target.prototype.emit = function(

        eventName: string,

        ...params: Array<string>

    ) {

        __event.emit.call(__event, eventName, this, ...params)

    }

}


//class

@eventDecorator

class Test {

    constructor() {

        let _this = this as any

        console.log(111111111)

        _this.on('aa', this.callback)

        _this.emit('aa', this)

    }

    callback() {

        console.log(this)

    }

}


new Test()


这个时候直接调用this.on IDE无法识别装饰器方法,改怎么写,不用extends


潇潇雨雨
浏览 398回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript