2013-01-18 8 views
7

Próbuję zresetować moją kolekcję bez wywoływania zdarzenia "reset". Mam skonfigurować moją kolekcję słuchać obu „reset” i „dodać” wydarzeńUstawienie {cichy: true} podczas resetowania kolekcji nadal wyzwala zdarzenie "reset".

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

Po kliknięciu na przycisku, pierwszą rzeczą, którą chcesz zrobić, to pozbyć się kolekcji

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

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

Jednak po kilku logowaniu i sprawdzeniu, zdałem sobie sprawę, że zdarzenie "reset" było nadal wyzwalane, tzn. Funkcja @addAll wciąż była wywoływana.

Czy tu czegoś brakuje? Nie milczy: prawda ma tłumić resetowanie?

Odpowiedz

13

reset wykonuje dwa opcjonalne parametry, modele 1, opcje 2. Z dokumentów: resetcollection.reset([models], [options]).

, więc musisz podać opcję cichy jako drugi parametr.

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

Mam to. Dzięki! – Zhen

Powiązane problemy