从BackboneJS Collection / UnderscoreJS数组中提取模型

时间:2011-09-30 04:50:33

标签: javascript collections backbone.js models underscore.js

我一直在检查Backbone和Underscore的文档,以便从集合中提取模型(删除值并将其返回)的“正确”方法。我知道我可以通过“模型”数组属性和拼接方法直接访问来实现这一点,但是这是我躲过的一些内置方式吗?

2 个答案:

答案 0 :(得分:3)

在集合中使用内置的“remove”方法至关重要。删除执行以下操作:

  • 更新用于collection.getByCid()
  • 的内置索引
  • 更新用于collection.get()
  • 的内置索引
  • 减少collection.length
  • 删除模型(如果传入模型,ID或cid数组,则移除模型)
  • 触发集合上的remove事件

如果直接操作集合中的模型,则不会发生上述任何事情。

有关删除的更多信息:http://documentcloud.github.com/backbone/#Collection-remove

答案 1 :(得分:1)

来自你的评论:

  

我希望在索引5处删除模型并返回该值。

试试这个:

// given: myCollection is a Backbone collection

var item = myCollection.at(5);
myCollection.remove(item);

// ... now, do whatever else with `item`...