Backbone.js:如何在Backbone Collection中获取模型的索引?

bri*_*n h 119 backbone.js

有没有办法在集合中找到模型的索引?

让我们说在一个视图中我们有一个我们正在研究的模型,该模型是否可以在其当前内部的集合中吐出它的索引?我想这样做是因为我想访问当前目标上方或下方的模型.

换句话说就是这样的:

index = this.model.index
modelAbove = this.collection.at( index-1 )
Run Code Online (Sandbox Code Playgroud)

我的数据是嵌套的,所以我可以在"lft"或"rgt"列上进行搜索,但如果Backbone已经拥有此信息,我不想重新发明轮子.

Der*_*ley 201

是的,backbone提供了对模型和集合上的许多underscore.js方法的访问,包括集合上的indexOf方法.它还提供了一个at像你所示的方法.

var index = this.collection.indexOf(this.model);
var modelAbove = this.collection.at(index-1);
Run Code Online (Sandbox Code Playgroud)

  • 辉煌!感觉有点尴尬,我没想到indexOf.猜猜它表明我知之甚少.:) 谢谢你,先生! (9认同)
  • 在`initialize`调用期间,我无法使其工作.知道如何才能做到这一点吗? (4认同)
  • 谢谢你清理这个!你知道,如果`.collection`成员在`Model`的文档中明确列出,那将是_so great_ ... (2认同)