我where
在我的 Backbone 集合上使用该方法,如下所示:
var quote = app.Collections.quotes.where({Id: parseInt(id, 10)});
但是,要访问唯一的结果/模型(因为它是通过 ID,只有一个) - 我怎样才能获得实际的模型而不求助于使用它:
var onlyModel = quote[0]
?
有没有更好的办法?
我where
在我的 Backbone 集合上使用该方法,如下所示:
var quote = app.Collections.quotes.where({Id: parseInt(id, 10)});
但是,要访问唯一的结果/模型(因为它是通过 ID,只有一个) - 我怎样才能获得实际的模型而不求助于使用它:
var onlyModel = quote[0]
?
有没有更好的办法?
一个更好的方法是get
在集合上使用。http://backbonejs.org/#Collection-get
var quote = app.Collection.quotes.get(parseInt(id, 10));
骨干代理 集合上的下划线函数,特别是findWhere将返回找到的第一个匹配项。
findWhere _.findWhere(list, properties)
查看列表并返回与属性中列出的所有键值对匹配的第一个值。
您的查询可以写成
var quote = app.Collections.quotes.findWhere({Id: parseInt(id, 10)});
但是在您的情况下,如果您确实在寻找具有给定 id 的模型,则可以直接使用get方法
get collection.get(id)
从集合中获取模型,由 id、cid 或通过传入模型指定。
var quote = app.Collection.quotes.get(id);