0

Backbone、Marionette、およびBackbone.localStorageを使用してアイテムのリストを永続化しています。モデルのメソッドItemViewを起動する s に削除ボタンがあります。destroyこれにより、モデルがコレクションから正常に削除され、remove イベントが発生します。

ただし、モデルは自動的にCollectionView削除されずItemView(そうあるべきだと思います)、ローカル ストレージからモデルが削除されないため、ページをリロードするとリストに戻ります。

編集:

モデルは、ビューで次のメソッドによって削除されます。

confirmRemove : function() {
  this._setRemoveState(false);
  this.model.destroy({success: function() { console.log('model destroyed!');}});
  return false;
}

successコールバックは発生します。

4

1 に答える 1

1

問題点:

  1. ItemViewremoveメソッドを意図せず上書きしてしまったため、DOM から削除されませんでした。
  2. destroyID を持つモデルのみがサーバーに永続化されていると仮定して、ID を持つモデルに対してのみ同期アクションを実行します。ただし、Backbone.localStorage は内部 ID を作成しますが、それらをモデルに永続化しないため、id プロパティがなく、Backbone はサーバーからの削除をスキップしました。
于 2013-08-21T16:42:51.087 に答える