从collections.where访问Backbone模型

时间:2013-02-18 15:23:20

标签: backbone.js

我在我的Backbone集合中使用方法where,如下所示:

var quote = app.Collections.quotes.where({Id: parseInt(id, 10)});

然而,要访问唯一的结果/模型(因为它是ID,只有一个) - 我怎样才能获得实际模型而不诉诸于此:

var onlyModel = quote[0]

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

更好的方法是在集合上使用gethttp://backbonejs.org/#Collection-get

var quote = app.Collection.quotes.get(parseInt(id, 10));

答案 1 :(得分:1)

Backbone代理集合上的Underscore函数,特别是findWhere,它将返回找到的第一个匹配项。

  

findWhere _.findWhere(list,properties)
  查看列表并返回与属性中列出的所有键值对匹配的第一个值。

您的查询可以写成

var quote = app.Collections.quotes.findWhere({Id: parseInt(id, 10)});

但是在你的情况下,如果你确实在寻找具有给定id的模型,你可以直接使用get方法

  

获取 collection.get(id)
  从集合中获取模型,由id,cid或传入模型指定。

 var quote = app.Collection.quotes.get(id);
相关问题