1
我想避免對Backbone.Collection每個「添加刪除復位」事件重新呈現。骨幹 - 避免重新渲染每個刪除
所以在Backbone.View我可能有:
this.listenTo(this.collection,'remove',this.render);
如果我刪除/刪除了一堆的車型,這將使得儘可能多的車型,因爲我刪除。
避免這種情況的最佳方法是什麼?
我想避免對Backbone.Collection每個「添加刪除復位」事件重新呈現。骨幹 - 避免重新渲染每個刪除
所以在Backbone.View我可能有:
this.listenTo(this.collection,'remove',this.render);
如果我刪除/刪除了一堆的車型,這將使得儘可能多的車型,因爲我刪除。
避免這種情況的最佳方法是什麼?
您不必重新渲染,只是因爲事情需要走開整個視圖。
你可以有一個方法來刪除視圖的只是一個模型大塊:
model_removed: function(m) {
// find m's chunk of the view inside this.$el
// and remove it.
this.$('whatever-selector-you-need').remove();
}
,然後綁定是到'remove'
事件:
this.listenTo(this.collection, 'remove', this.model_removed);
演示:https://jsfiddle.net/ambiguous/fL0zr67s/
或者,您可以嵌套您的視圖,以便爲每個模型和集合的總體視圖提供一個子視圖。收集視圖將根據需要創建和渲染模型視圖,然後只需在子視圖上調用remove
以響應集合中的'remove'
事件。避免它
一個方法是,當所有的模型已被刪除火災自定義事件,並聽取該自定義事件,而不是聽香草「刪除」。 –
那麼你會如何刪除幾個模型?有沒有收集某個地方,你正在清理? – kevin628
你已經從我們在這裏看到的東西中回答了你自己。如果你想要更多,你需要具體。 – Deryck