Mat*_*hew 3 javascript collections equals backbone.js
我有一个具有一堆属性的模型,但这里有两个感兴趣的id和key.key永远是独一无二的,id而不是那么多.当我尝试向id集合中添加多个具有相同模型的模型时,我收到此错误:
Uncaught Error: Can't add the same model to a collection twice
Run Code Online (Sandbox Code Playgroud)
我猜这是因为骨干正在使用它id来决定两个模型是否存在===.那是对的吗?如果有,有没有办法覆盖这种行为,而无需交换id和key属性的名称?我尝试搞乱这个系列,comparator但无济于事......
是的,骨干使用和管理id模型的属性以进行识别.如果您的数据使用不同的属性,则可以将模型设置为idAttribute属性的名称,以使主干从此属性读取id:
var Entry = Backbone.Model.extend({
idAttribute: "key"
});
var entry = new Entry({ key: 1, name: "an entry" });
alert("entry id: " + entry.id);
Run Code Online (Sandbox Code Playgroud)
但是,您不能同时将模型的id属性用于其他任何内容.
| 归档时间: |
|
| 查看次数: |
3662 次 |
| 最近记录: |