避免多次删除事件

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);