萌新又来问问题:为什么我的这个方法会被识别为属性呢?

直接贴问题代码:


在游戏中按下按钮后执行setReply()这个方法,然后在setReply()中执行setChatReContent();但是在运行过程中,我发现setChatReContent()没有成功运行。

查看浏览器错误提示,显示 “Cannot read property ‘setChatReContent’ of undefined” 说明是setChatReContent这个“属性”找不到。所以我就有了如下问题想要问问各位大佬:

1.我的setChatReContent明明是一个方法,为什么这里就变成了一个属性呢?
2.为什么这个方法(属性)会读不出来呢?我看我对这个方法的引用方式和其他方法都是一样的(都是直接this.function()这样用),但为什么这里就出问题了呢?
3.要怎么解决这个问题呢?

谢谢大家指教!二楼放上工程文件

工程文件如下:
sproutsSimulator.rar (556.3 KB)

this.node.on(‘reply’, this.setReply.bind(this));
or
this.node.on(‘reply’, this.setReply, this);
触发setReply的环境,this已经变了

原来是注册事件的时候出的问题吗…难怪一直没找到错因,谢谢指教!