2012-11-27 10 views

Odpowiedz

6

Można przekazać {wait: true} jako opcję do destroy(), co powoduje, że oczekuje na odpowiedź z serwera przed usunięciem modelu z kolekcji.

Pod względem wiązania widoki na zdarzenia, powinno być obsługujących wydarzenia remove i destroy oddzielnie, jako zdarzenie remove zostanie zwolniony, gdy serwer zwraca się pomyślnie, ale nie wtedy, gdy serwer zwraca błąd.

Alternatywnie można przekazać obsługę error do , którą następnie można użyć w celu przywrócenia modelu, jeśli z jakiegoś powodu serwer ulegnie awarii. Albo po prostu dodaj model z powrotem do swojej kolekcji (jeśli ją posiadasz), albo spraw, aby dane zostały ponownie załadowane z serwera (co może być bezpieczniejszą opcją).

Należy pamiętać, że w przypadku tej metody wydarzenie remove nadal będzie uruchamiane, a po jego odtworzeniu nastąpi zdarzenie add.

thing.destroy({error: function(model, response) { 
    // put the thing back in the collection, or cause the collection to reload 
}}); 

Wspomniał Pan o zerowaniu danych modelu; Wierzę, że argument model w powyższym procedurze obsługi błędów odbiera oryginalny model, więc nadal można uzyskać dostęp do jego danych.

Aby uzyskać więcej informacji, zobacz dokumentację kręgosłupa - http://backbonejs.org/#Model-destroy

Powiązane problemy