2013-01-16 10 views

Odpowiedz

12

ko.applyBindings jest połączeniem synchronicznym.

Może być kilka przypadków, w których powiązania mają specjalny kod do robienia rzeczy w metodzie setTimeout, ale tak się nie dzieje.

Po dodaniu components w Knockout 3.2, komponenty są asynchroniczne. W Knockout 3.3 będzie dostępna opcja synchronizacji komponentów, jeśli załadowany zostanie viewmodel/template.

+0

Dziękuję bardzo! – vtortola

+0

Ryan, czy możemy uzyskać aktualizację tej odpowiedzi teraz, gdy komponenty są w wersji 3.2? Zakładam, że to nie jest synchroniczne, jeśli moduł nie został jeszcze załadowany, ale czy jest synchroniczny, jeśli wszystkie zależności zostały już załadowane? Dzięki! –

+3

Samo "ko.applyBindings' jest synchroniczne. składniki są asynchroniczne. W KO 3.3 będzie dostępna opcja synchronizacji komponentów, jeśli załadowany zostanie viewmodel/template. –

2

Knockout jest synchroniczny. Nie tylko ko.applyBindings funkcjonuje jako RP Niemeyer już powiedział. Po ustawieniu wartości dla własności obserwowalnym który zbindowanych do widoku, można mieć 100% pewność, że po wykonaniu

myViewModel.myObservableProperty(newValue); 

swój pogląd został zaktualizowany. W rzeczywistości właściwość obserwowalna jest funkcją i kiedy ustawiasz nową wartość na obserwowalną właściwość, po prostu wywołujesz funkcję z nową wartością jako parametrem: ta funkcja w jej ciele wyzwoli synchronicznie zdarzenie "zmiana" (ja don dokładnie zna nazwę wydarzenia).

Mam nadzieję, że pomoże .. przepraszam, ale mój angielski jest nieco zardzewiały.

Powiązane problemy