我认为这个问题更像是一个 javascript 问题而不是主干问题,但是我在主干中开发应用程序时遇到了这个问题,所以这就是我要问的上下文。
我正在将带有参数的方法绑定到模型的更改事件。下面的代码在绑定侦听器时执行该方法,而不是在触发事件时:
this.model.on("change:disposition", this.dChange("disposition"), this);
而以下代码在触发更改事件时执行该方法(所需的行为):
this.model.on("change:disposition", function(){ this.dChange("disposition"); }, this);
如果有人能描述在这两种情况下具体发生了什么,我将不胜感激。另外,有没有更好的方法来绑定带有参数的方法,而不是像我所做的那样将它包装在一个闭包中?
谢谢。