避免多次删除事件
avoid multiple remove events
我使用 backbone 版本 1.0.0 & 下划线 js。
从我的 collection 中,我删除了符合某些条件的模型。
myCollection.remove(myCollection.where({filterId: "1"}));
这将删除我的 collection 中具有 filterId 属性 ==“1”的所有模型。
现在,当我有超过 1 个模型符合条件时,这会导致 "remove" 的多个更改事件被触发。
我希望它在所有匹配的模型都被删除时只触发一次。
请指教
无法将删除事件限制为仅一次,因为每次从集合中删除模型时都会触发 Backbone。
相反,您可以过滤集合并侦听重置事件。
var filtered = myCollection.filter(function(model) {
return model.get("filterId") != 1;
});
myCollection.reset(filtered);
我使用 backbone 版本 1.0.0 & 下划线 js。 从我的 collection 中,我删除了符合某些条件的模型。
myCollection.remove(myCollection.where({filterId: "1"}));
这将删除我的 collection 中具有 filterId 属性 ==“1”的所有模型。
现在,当我有超过 1 个模型符合条件时,这会导致 "remove" 的多个更改事件被触发。
我希望它在所有匹配的模型都被删除时只触发一次。 请指教
无法将删除事件限制为仅一次,因为每次从集合中删除模型时都会触发 Backbone。
相反,您可以过滤集合并侦听重置事件。
var filtered = myCollection.filter(function(model) {
return model.get("filterId") != 1;
});
myCollection.reset(filtered);