我想删除/删除Backbone Model Array中的特定项目。我的模型返回此数据(json)
"data": {
"id": 16268,
"releases": [
{"title" :"title1", "cover" : "some image", "releasedate": "some date"},
{"title" :"title2", "cover" : "some image", "releasedate": "some date"},
{"title" :"title3", "cover" : "some image", "releasedate": "some date"},
{"title" :"title4", "cover" : "some image", "releasedate": "some date"},
{"title" :"title5", "cover" : "some image", "releasedate": "some date"},
]
}
所以,我想说要删除/删除第二个条目。我试着这样做:
if(this.model.get('id') === 16268){
if(this.model.get('releases')[1]) {
this.model.remove();
}
}
但没有运气。有人能告诉我如何解决这个问题吗?
答案 0 :(得分:1)
为了从数组中删除具有特定索引的元素,您必须使用数组splice
方法。
为了在您的模型上触发"change"
事件,您可以将Model set
方法与Array的slice
方法结合使用,该方法返回阵列。
因此代码删除数组元素应如下所示:
var arr = this.model.get('releases');
arr.splice(1, 1);
this.model.set('releases', arr.slice());
答案 1 :(得分:0)
创建"发布" model,然后向当前模型添加一个属性,该属性是一个发布集合(骨干集合)。之后,您可以根据需要操作集合。
感谢。