我有以下情况:
我有一个模型,它具有一个属性,即模型本身。在我看来,我像这样绑定到子模型:
this.listenTo(this.model.get("childModel"), "change", this.handleChange);
现在我有一个案例,由于用户操作,可以从某个控制器取消设置子模型。在这种情况下,我想取消绑定上述处理程序。
在函数 stopListening 的 Backbone.js 文档中,它说:
object.stopListening([其他], [事件], [回调])
告诉一个对象停止监听事件。要么调用不带参数的 stopListening 以使对象删除其所有已注册的回调......或者更精确地告诉它只删除它正在侦听的特定对象、特定事件 或特定回调的事件。
因此,当该子模型未设置时,我尝试在我的视图中执行此操作:
this.stopListening(this.handleChange);
从文档中,我认为这是有效的,但我从 Backbone 收到了一个错误。
所以现在我正在尝试这个:
this.stopListening(null, "change", this.handleChange);
这不会导致错误,但我如何确定它确实有效?