我似乎无法找到任何相关的文档,并且使用代码并没有帮助我完全理解这一点。
我有Backbone模型,在我的my中我将处理程序绑定到模型更改事件:
var myModel = new ModelA();
var myView = new ViewA({
model: myModel
})
//in my view I have
this.listenTo(this.model, "change", this.handleChange);
有人可以向我解释一下哪些参数传递给 this.handleChange ?我知道了 有2个参数,模型& 值,但它们究竟是什么?
当我绑定到特定属性时会发生什么,如下所示:
this.listenTo(this.model, "change:attr", this.handleChange);
当我使用 myModel.unset(“attr”); 从模型中取消设置属性时,传递给handleChange的值是什么?我发现在某些情况下,值是未定义的,有时它有1个属性 unset = true
我们将不胜感激任何帮助或指向相关文档。
答案 0 :(得分:3)
来自代码:
活动change:attr
:
this.trigger('change:' + changes[i], this, current[changes[i]], options);
活动change
:
this.trigger('change', this, options);
所以在第一种情况下,参数是:模型,值和使用的选项(外部和内部选项(例如,unset: true
调用的unset
))。在第二种情况下,因为它与特定属性无关,所以参数是:模型和选项。