emit接收函数里的引用与当前类不在同一个实例?

ts下 cocos 2.4.4
假设一处发射消息
this.xxx.emit(‘foo’, param);
接收处

export default class NewClass1 extends cc.Component {
private abc:number = 0;
this.node.on(‘foo’, function (arg1) {

        this.abc = 1;

console.debug(“abc”+this.abc);
})

update(){
console.debug(“abc”+this.abc);
}
消息接收完全正常,但update里console的输出始终为0,也就是说根本没有修改。
我尝试用静态变量可以修改。说明消息接受采用了不同类实例。请问这个如何处理?
为何cocos的消息接收机制会和类实例分离?

这个cocos不背锅。。。接收处改成这样:

this.node.on(‘foo’, (arg1) => {
        this.abc = 1;
        console.debug(“abc”+this.abc);
})

感谢大神为cocos平反。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。