在 Backbone 中查找模型.js按 cid 而不是 id 收集
Find model in Backbone.js collection by cid rather than id
我可以使用 Collection.get(id) 在 Backbone.js 集合中查找尚未保存到服务器的模型吗?
从文档中看,.get 似乎应该通过其 id 或 cid 找到一个模型。 但是,collection.get(cid)
找不到模型,而这确实collection.find(function(model) {return model.cid===cid; })
。 大概我忽略了一些基本的东西。
jsFiddle 例如下面
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
Backbone.js - id vs idAttribute vs cid
在 backbone 0.9.9 中
(参见 changelog),他们删除了 .getByCid()
方法并将该功能直接折叠到 .get()
中——如果你使用低于 0.9.9,你可以使用 .getByCid()
方法;我认为他们已经从文档中删除了它,以反映库的最新状态。
编辑:
有关更多详细信息@Ferdinand请参阅下面的 Prantl 评论,但将cid
作为对象文本的属性传递将完成您在此处查找的内容:.get({ cid: "xxx" })
。 对于任何困惑,我深表歉意。
相关文章:
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- difference between '$(<%= DDL.ID %>) & $('
- 使用Javascript获取所选选项ID
- 根据id将json数组组合为一个json数组
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 对id以某个字符串开头的元素进行计数
- 如果元素's的ID以数字开头
- 通过id和class属性获取元素
- 根据选项卡内部的文本链接中的哈希ID动态选择jqueryUI选项卡
- 使用当前日期生成随机id
- Javascript-ID冲突的几率
- Href:当前DIV中的目标ID
- 使用 JavaScript 按 ID 收集数据
- 如何在客户端获取服务器删除/更新收集项的 ID
- 如何收集整个
inner html with id="tripDate"在数组中,并使用当前日 - 向Meteor添加用户id字段.用户收集的帐户包
- 收集后更新id.在Backbone.js中创建
- 如何在jquery中使用.on('click')收集随机id
- 在 Backbone 中查找模型.js按 cid 而不是 id 收集
- 用Javascript从用户提交的Youtube URL中收集ID(用于Meteor项目)