在这里,我有一个 Backbone.js 模型 - 联系人和一个集合 - 以联系人为模型的联系人。我有两个视图,其中一个使用集合列出所有联系人,第二个使用模型直接显示单个联系人。但是当我直接使用模型时,我可以在与集合一起使用时触发'change'事件,而不会触发'change'事件(甚至模型的'所有'事件)。我是否在这里缺少一些额外的绑定以使其与集合一起使用?
var Contact = Backbone.Model.extend({
defaults: {
id: 0,
urlDisplayPicBig: '',
urlDisplayPicSmall: ''
},
initialize: function () {
this.bind('change', this.doSomething);
},
generateUrls: function () { //earlier doSomething()
...
}
...
});
var Contacts = Backbone.Collection.extend({
model: Contact,
...
});
更新 同时使用集合和单个模型实例时,我必须运行 generateUrls() 以根据模型的“id”更新 urlDisplayPicBig 和 urlDisplayPicSmall。