如何通过其ID从Backbone.js集合中获取模型?

Tho*_* II 40 javascript backbone.js

在我的应用程序中,我对数据所做的一切都基于主键,因为数据存储在数据库中.我想从基于此键的集合中获取模型.

使用Collection.at()需要数组索引,Collection.getByCid()需要骨干随机生成的客户端ID.

从具有给定id值的集合中获取我想要的模型的最佳方法是什么?我认为我能做的最糟糕的事情就是迭代每个项目.get('id'),然后返回那个项目.

nik*_*shr 63

看看get方法,它可能会有所帮助:)

http://backbonejs.org/#Collection-get

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

  • 我会给你点击一下.整个文档包括:从集合中获取模型,由id,cid指定或通过传入模型.var book = library.get(110); (3认同)

Nen*_*lep 7

如果您的数据要求您使用不同类型的键或不能很好地匹配的集合at(),getByCid()或者get()还有where().像这样的东西可能会起作用:

window.lib = new Library;
window.lib.fetch([
    success: function(model, response) {
        console.log(window.lib.where({'BookID':488, 'Rev':2, 'Status':'Active'});
    }
});
Run Code Online (Sandbox Code Playgroud)