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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...