2011-06-08 96 views
20

這兩個步驟是否必須刪除模型?在一個步驟中銷燬集合中的骨幹模型?

var model = collection.get(id); 
model.destroy(); 
collection.remove(model); 

沒有辦法從模型中刪除模型嗎?

+12

我不知道,當你調用'.destroy()'你的模型你至少在0.5.3使用的是什麼版本的骨幹,當你問到這個問題,但據我所知,骨幹網中刪除從服務器和(提供成功),然後將其從其集合中自動刪除。 – 2011-11-28 17:37:15

+0

不錯。我使用的版本是0.3.3 – 2011-11-29 14:51:13

+0

備註:未來的讀者:主幹會將其從所有集合中刪除,而不僅僅是model.collection。集合收聽模型事件,'銷燬'會導致刪除(包含相應的事件)。 – Crisfole 2013-10-03 14:49:52

回答

36
Model.bind("remove", function() { 
    this.destroy(); 
}); 
... 
var model = new Model(); 
... 
collection.remove(model); 

除去集合的模式觸發"remove"事件。

所以,如果你想,你可以得到模型綁定到他們並摧毀自己。

+1

非常感謝,但這是相當不直觀的國際海事組織。有沒有什麼原因讓你不想在調用集合上的刪除時損壞模型(至少有足夠的原因不是默認行爲)。這是否值得作爲github上的功能請求? – calumbrodie 2011-08-17 23:50:03

+13

@kissmyface集合是模型中的任意(如數據庫術語)視圖。如果我決定你不應該在視圖(集合)中看到模型X爲什麼模型X會被銷燬? – Raynos 2011-08-18 09:23:18

+1

這是一個很好的比喻。我沒有意識到它們之間的耦合非常密切(迄今爲止我所有的代碼在集合和模型之間都有非常嚴格的聯繫)。感謝您的澄清。 – calumbrodie 2011-08-18 09:39:22