避免多次删除事件

avoid multiple remove events

本文关键字:删除 事件      更新时间:2023-09-26

我使用骨干版本1.0.0和下划线js。从我的收藏中,我删除了符合某些条件的模型。

myCollection.remove(myCollection.where({filterId: "1"}));

这将删除我的集合中具有 filterId 属性 == "1" 的所有模型。

现在,当我有超过 1 个符合条件的模型时,这会导致触发多个"删除"更改事件。

我希望在删除所有匹配模型时仅触发一次。请指教。

不可能

只限制一次删除事件,因为每次从集合中删除模型时都会触发 Backbone。

相反,您可以筛选集合并侦听重置事件。

   var filtered = myCollection.filter(function(model) {
      return model.get("filterId") != 1;
    });
   myCollection.reset(filtered);