对于尚未保存到服务器的模型,我可以使用 Collection.get(id) 在 cid 的 Backbone.js 集合中查找模型吗?
从文档来看,.get 似乎应该通过它的 id 或 cid 找到一个模型。但是,collection.get(cid)
没有找到模型,而这确实找到了collection.find(function(model) {return model.cid===cid; })
. 大概我忽略了一些基本的东西。
var Element = Backbone.Model.extend({});
var Elements = Backbone.Collection.extend({ model: Element });
var elements = new Elements(), el, cids = [];
for (var i=0; i<4; i++) {
el = new Element({name: "element"+i})
elements.add(el);
cids.push(el.cid);
}
console.log(cids);
el1 = elements.get(cids[0]);
console.log(el1); // undefined
el1a = elements.find(function(model) { return model.cid === cids[0]; });
console.log(el1a); // success