2013-01-18 4 views
7

'リセット'イベントをトリガーせずにコレクションをリセットしようとしています。私はコレクションコレクションをリセットするときに{silent:true}を設定すると、 'リセット'イベントがトリガーされます。

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

    //step to clear out the collection 
    @options.muses.reset({silent:true}) 
をクリアする
@.listenTo(@options.muses, 'add', @addOne) 
@.listenTo(@options.muses, 'reset', @addAll) 

私はボタンをクリック

は、私がしたいまず最初は、両方の「追加」「リセット」とイベントに耳を傾ける私のコレクションを設定しています

しかし、私はいくつかのロギングとチェックを行ったとき、私は 'リセット'イベントがまだ起動されていることを認識しています。つまり、@ addAll関数はまだ呼び出されていました。

ここに何か不足していますか?静かではない:本当にリセットイベントを抑制することになっていますか?

答えて

13

リセットには2つのオプションパラメータがあります。モデルは1st、オプションは2ndです。ドキュメントから:resetcollection.reset([models], [options])

したがって、2番目のパラメータとしてサイレントオプションを渡す必要があります。

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

ありがとう! – Zhen

関連する問題