一个集合知道它的模型,但模型有没有办法到达它的集合?
我需要一种方法来获取集合中的“相邻”模型。以下内容可以更好地了解问题:
我正在尝试实现一个简单的应用程序,该应用程序根据模型中的“优先级”属性对项目进行排名,并维护它们的列表。每个模型视图都有用于增加或减少优先级的按钮,这些按钮应相应地改变列表的顺序。 只要优先级属性是连续的,只需在当前值中添加或减去一个值即可,例如:
1,2,3,4,5,6
但是还有一个删除按钮,允许从列表中删除任何模型。它可以导致优先级属性,如:
1,2,5,6
现在将优先级5更改为4不会更改列表的顺序,因为它仍然大于2。
答案 0 :(得分:4)
它没有记录,但模型将自动具有指向集合的collection
属性。如果一个模型在多个集合中,我不知道它是如何工作的细节(也许collection
属性一旦设置就不会改变。)
要解决您提到的具体问题,您可以在集合上侦听remove
个事件,并相应地调整内容。在这种情况下,您甚至不需要collection
属性,因为模型和集合都将传递给remove
侦听器。
var handler = function ( model, collection, options ) {
// ...
};
collection.on( 'remove', handler );
从集合中删除模型的索引可以
获得options.index
options
侦听器的remove
参数未记录在remove
侦听器的签名为documented的情况下,但是它被传递(无论如何都是0.9.2)。< / p>