Backbone.js 销毁模型实例不会将其从视图/存储中删除
我正在使用主干、木偶和来持久化项目列表。我在Backbone.js 销毁模型实例不会将其从视图/存储中删除,backbone.js,local-storage,marionette,Backbone.js,Local Storage,Marionette,我正在使用主干、木偶和来持久化项目列表。我在ItemViews上有一个remove按钮,它触发模型的destroy方法。这将成功地从集合中删除模型,并触发删除事件 但是,CollectionView不会自动删除它的ItemView(我认为它应该这样做),也不会从本地存储中删除模型,因此在重新加载页面时,它会回到列表中 编辑: 通过以下方法在视图上删除模型: confirmRemove : function() { this._setRemoveState(false); this.mod
ItemView
s上有一个remove按钮,它触发模型的destroy
方法。这将成功地从集合中删除模型,并触发删除事件
但是,CollectionView
不会自动删除它的ItemView
(我认为它应该这样做),也不会从本地存储中删除模型,因此在重新加载页面时,它会回到列表中
编辑:
通过以下方法在视图上删除模型:
confirmRemove : function() {
this._setRemoveState(false);
this.model.destroy({success: function() { console.log('model destroyed!');}});
return false;
}
成功
回调确实启动。问题:
ItemView
的remove
方法,因此它没有从DOM中删除destroy
仅对具有ID的模型运行其同步操作,假设只有具有ID的模型被持久化到服务器。但是,尽管Backbone.localStorage创建内部id,但它不会将它们保留回模型,因此没有id属性,因此主干跳过了从服务器中删除它显示一些代码。我怀疑您没有正确删除模型。您是否正确设置了
localStorage
?在模型上触发销毁事件时,是否正在调用itemView.remove()
?