重置集合时设置{silent:true}仍会触发'reset'事件

Zhe*_*hen 7 collections reset silent backbone.js

我试图重置我的收藏而不触发'重置'事件.我已经设置了我的收藏,以收听'重置'和'添加'事件

@.listenTo(@options.muses, 'add', @addOne)
@.listenTo(@options.muses, 'reset', @addAll)
Run Code Online (Sandbox Code Playgroud)

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

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

  //step to clear out the collection
  @options.muses.reset({silent:true})
Run Code Online (Sandbox Code Playgroud)

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

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

haj*_*poj 13

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

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

@options.muses.reset(undefined, {silent:true});
Run Code Online (Sandbox Code Playgroud)