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()