【问题标题】:Backbone.js: How to get the index of a model in a Backbone Collection?Backbone.js:如何获取 Backbone 集合中模型的索引?
【发布时间】:2011-11-20 06:51:28
【问题描述】:

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

假设在一个视图中我们正在处理一个模型,该模型能否在当前所在的集合中吐出它的索引?我想这样做是因为我想访问当前目标之上或之下的模型。

换句话说,有没有类似的东西:

index = this.model.index
modelAbove = this.collection.at( index-1 )

我的数据是一个嵌套集,所以我可以在“lft”或“rgt”列上进行搜索,但如果 Backbone 已经有这些信息可用,我不想重新发明轮子。

【问题讨论】:

    标签: backbone.js


    【解决方案1】:

    是的,主干提供了对模型和集合上的许多 underscore.js 方法的访问,包括集合上的 indexOf 方法。它还提供了一个at 方法,就像你展示的那样。

    var index = this.collection.indexOf(this.model);
    var modelAbove = this.collection.at(index-1);
    

    【讨论】:

    • 感谢您解决这个问题!你知道,如果.collection 成员在Model 的文档中明确列出,那将是太棒了...
    • initialize 通话期间无法使用此功能。知道我怎样才能做到这一点吗?
    • 这也是我的一个循环。 'indexOf' 位于左侧菜单中的 Collections > Underscore Methods 下,因此不会出现在视线范围内。
    • @Jeffpowrs 这也很奇怪,因为 indexOf 在下划线文档中是一个数组函数,而另一个数组函数 findIndex 不适用于集合。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-04
    • 2011-11-30
    • 2012-01-04
    • 2013-07-10
    • 2012-07-08
    • 1970-01-01
    相关资源
    最近更新 更多