Więc teraz, kiedy zniszczyć model i serwer zwraca błąd, zdarzenie zostanie zwolniony zniszczyć i tak dane modelu pobiera zresetować ..modelu backbone.js usunąć awarię
Czy mimo to temu zapobiec ?
Więc teraz, kiedy zniszczyć model i serwer zwraca błąd, zdarzenie zostanie zwolniony zniszczyć i tak dane modelu pobiera zresetować ..modelu backbone.js usunąć awarię
Czy mimo to temu zapobiec ?
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