模型更改不会触发集合中的更改

时间:2012-06-12 12:09:56

标签: backbone.js backbone-events backbone-relational

我有两种不同的观点(1),(2)
1)显示用户列表
2)它显示用户的详细信息

在(2)中可以更改名称 然后我希望(1)中的通信项目相应地改变,但它没有。

如何修复/调试问题?

这是我的基本代码:

// list of users (1)
View_1 = Backbone.View.extend({
    collection: new MyCollection(),
    initialize: function () {
        this.collection.bind('add', this.addOne);
        this.collection.bind('reset', this.addAll);
    }
});

// user detail (2)
View_2 = Backbone.View.extend({
    model: new MyModel()
});

MyCollection = Backbone.Collection.extend({
    model: new MyModel()
});

1 个答案:

答案 0 :(得分:2)

您需要将change事件绑定到集合。现在你只绑定resetadd,所以事情只会在新模型添加到集合时,或者用初始值初始化集合时更新。

this.collection.bind('change', this.render);

或类似的东西,触发渲染任何需要改变的东西。