我似乎找不到这方面的任何文档,玩弄代码并没有帮助我完全理解这一点。
我有 Backbone 模型,在我的模型中,我将处理程序绑定(bind)到模型更改事件:
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 个参数,model 和 value,但它们到底是什么?
当我绑定(bind)到特定属性时会发生什么,如下所示:
this.listenTo(this.model, "change:attr", this.handleChange);
当我使用 myModel.unset("attr"); 从模型中取消设置属性时,传递给 handleChange 的值是什么?我看到在某些情况下值是未定义的,有时它有 1 个属性 unset = true
任何帮助或指向相关文档的点将不胜感激。
最佳答案
来自代码:
事件 change:attr
:
this.trigger('change:' + changes[i], this, current[changes[i]], options);
事件改变
:
this.trigger('change', this, options);
所以在第一种情况下,参数是:模型、值和使用的选项(外部和内部选项(例如,unset: true
用于您的unset
调用))。在第二种情况下,因为它不涉及特定属性,所以参数是:模型和选项。
关于backbone.js - 哪些参数被传递给绑定(bind)到 Backbone.Model 更改事件的处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17324344/