处理集合的多个实例?

时间:2011-09-18 12:35:00

标签: javascript backbone.js

我是否需要绑定到同一类型实例化的每个集合,还是绑定到传递给自身的引用的常见更改事件?

示例:具有5个不同待办事项列表的界面会是什么样的?他们每个人都需要一个独特的ID吗?我猜他们会被放入另一个待办事项列表集合中?任何代码示例都会很棒。感谢。

编辑:对不起,如果我还不清楚。

TodoList是Todo模型的集合。

我的应用需要在其上显示任意给定数量的TodoList。组织不同实例的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

一般来说,您无需执行任何特殊操作来处理集合的多个实例。


MyCollection = Backbone.Collection.extend({ ... });

MyView = Backbone.View.extend({ ... });

c1 = new MyCollection();
c2 = new MyCollection();

v1 = new MyView({collection: c1});
v2 = new MyView({collection: c2});

每个视图只会引用它的集合,并且无需担心两个集合之间的数据不匹配。将模型添加到一个模型时,它不会显示在另一个模型中。当你操纵一个视图时,它不会操纵另一个视图(假设你已经正确地写了你的视图)。

您需要一个协调每个集合的每个视图在屏幕上显示的方式。这可以像任何集合/项目视图设置一样工作,你有一个集合视图,实例化每个子视图,呈现子视图,然后在它自己的el中显示子视图的el