我使用Backbone,Marionette和Backbone.localStorage来保留项目列表。我在ItemView
上有一个删除按钮,用于触发模型的destroy
方法。这将成功从集合中删除模型并触发remove事件。
但是,CollectionView
不会自动删除ItemView
(我认为应该这样),也不会从本地存储中删除模型,因此在重新加载页面时,它会自动删除confirmRemove : function() {
this._setRemoveState(false);
this.model.destroy({success: function() { console.log('model destroyed!');}});
return false;
}
。回到列表中。
编辑:
在视图上通过此方法删除模型:
success
{{1}}回调会触发。
答案 0 :(得分:1)
问题:
ItemView
的{{1}}方法,因此未将其从DOM中删除。remove
仅在具有ID的模型上运行其同步操作,假设只有具有ID的模型持久保存到服务器。但是,虽然Backbone.localStorage创建内部ID,但它不会将它们保留回模型,因此没有id属性,Backbone跳过将其从服务器中删除。