2013-08-20 47 views
0

我正在使用Backbone,Marionette和Backbone.localStorage來保存項目列表。我在ItemView上有一個刪除按鈕,它會觸發模型的destroy方法。這將成功地從集合中移除模型並觸發移除事件。銷燬模型實例不會將其從視圖/存儲中刪除

但是,CollectionView不會自動刪除它的ItemView(我認爲它應該),也不會從本地存儲中刪除該模型,因此在重新加載頁面時,它將重新放入列表中。

編輯:

該模型通過對鑑於這種方法去除:

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

success回調不火。

+0

顯示一些代碼。我懷疑你沒有正確刪除模型。 – Prisoner

+0

您是否正確設置了'localStorage'?你在模型上觸發destroy事件時調用'itemView.remove()'嗎? – fbynite

回答

1

的問題:

  1. 我無意間改寫了ItemViewremove的方法,所以它不是從DOM中刪除。
  2. destroy只在帶有ids的模型上運行其同步操作,假定只有帶ID的模型纔會持久保存到服務器。然而,雖然Backbone.localStorage創建了內部標識符,但它並沒有將它們留存到模型中,所以沒有標識屬性和主幹跳過從服務器中刪除它。
相關問題