2013-01-18 4 views
7

Ich versuche, meine Sammlung zurückzusetzen, ohne das Ereignis 'reset' auszulösen. Ich habe meine Sammlung eingerichtet, um sowohl ‚Reset‘ und ‚Hinzufügen‘ EreignisseDie Einstellung {stumm: wahr} beim Zurücksetzen einer Sammlung löst immer noch das Ereignis 'reset' aus

@.listenTo(@options.muses, 'add', @addOne) 
@.listenTo(@options.muses, 'reset', @addAll) 

zu hören, wenn ich auf einen Knopf klicken, das erste, was ich tun möchte, um die Sammlung zu räumen ist

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

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

Wenn ich jedoch einige Logging und Überprüfung durchgeführt habe, merke ich, dass das 'Reset' Ereignis noch ausgelöst wurde, dh die @addAll Funktion wurde noch aufgerufen.

Fehle ich hier etwas? Ist nicht still: soll das Reset-Ereignis unterdrückt werden?

Antwort

13

Reset verwendet zwei optionale Parameter, Modelle 1st, Optionen 2nd. Aus der Dokumentation: resetcollection.reset([models], [options]).

so müssen Sie die stille Option als zweiten Parameter übergeben.

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

Verstanden. Vielen Dank! – Zhen

Verwandte Themen