backbone.js – 重置集合时设置{silent:true}仍然会触发’reset’事件

前端之家收集整理的这篇文章主要介绍了backbone.js – 重置集合时设置{silent:true}仍然会触发’reset’事件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试重置我的收藏而不会触发’重置’事件.我已经设置了我的收藏,以收听’重置’和’添加’事件
@.listenTo(@options.muses,'add',@addOne)
@.listenTo(@options.muses,'reset',@addAll)

当我点击一个按钮时,我想要做的第一件事是清除收藏

optionButtonClicked: (e) ->
  e.preventDefault()
  target = @$(e.currentTarget)

  //step to clear out the collection
  @options.muses.reset({silent:true})

但是当我进行一些日志记录和检查时,我意识到’reset’事件仍然被触发,即@addAll函数仍然被调用.

我在这里错过了什么吗?是不是沉默:真的应该压制重置事件?

解决方法

reset有两个可选参数,model 1st,options 2nd.来自docs:resetcollection.reset([models],[options]).

所以你需要传入silent选项作为第二个参数.

@options.muses.reset(undefined,{silent:true});

猜你在找的JavaScript相关文章