Krótka odpowiedź brzmi, że nie jest obsługiwana. Długa odpowiedź brzmi, że istnieją pewne sposoby obejścia tego problemu. Jednym ze sposobów jest wywołanie cleanNode
przed applyBindings
, ale to nie wyczyści procedur obsługi zdarzeń. Innym sposobem jest zawijanie modelu widoku w obserwowalne, a następnie aktualizowanie, które można obserwować, aby ponownie zastosować wiązania; działa to znacznie lepiej, ale nadal ma niewielki problem (patrz poniżej).
Oto Twój przykład używając do zaobserwowania sposobu widok modelu http://jsfiddle.net/mbest/9UcUs/9/
Jedyny problem mam z użyciem zaobserwowania widoku modelu jest to, że znaleziono obsługi zdarzeń nie są całkowicie na bieżąco z nowym modelu widoku. Wywołają poprawną funkcję w nowym modelu widoku, ale wartości dla oryginalnego widoku będą miały wartości this
i data
.
EDIT:
Knockout 3.0 (obecnie ukazać w tym miesiącu) w pełni obsługuje modele obserwowalne widok. Nadal mogą występować problemy z niestandardowymi powiązaniami, ale mam nadzieję, że wszystko to zostanie wkrótce udokumentowane.
To nie może być pytanie bezpośrednio, ale bardziej standardowe podejście z nokautem wiąże się z modelem widoku, a następnie zmienia się zawartość modelu, zamiast zmieniać cały model za każdym razem. Zobacz przykład: http://jsfiddle.net/9UcUs/8/. –
Odpowiedni kod powinien zawsze być *** w *** pytaniu, nie tylko powiązanym (nawet nie jsFiddle). –