Chcę kierowanie nokaut ViewModel do pewnej części dom jako sposób:Wyklucz elementy DOM z nokautu stosuje się do wiązania?
ko.applyBindings(MyViewModel,$('#Target')[0]);
Jednak nie chce on mieć zastosowanie do wszystkich Doms poniżej. Powodem tego jest to, że cały obiekt SPA nie działa zbyt dobrze - nie może nadążyć za gigantycznym modelem, który wynika z włączenia każdej potencjalnej interakcji do jednego gigantycznego obiektu. W związku z tym strona składa się z wielu częściowych widoków. Chcę, aby każdy cząstkowy tworzył swój własny ViewModel i zapewniał interfejs do interakcji z rodzicem.
Niektóre próbki dom
<div id="Target">
<!--Everything here should be included except-->
<div data-bind="DoNotBindBelowThis:true">
<!--Everything here should NOT be included by the first binding,
I will specifically fill in the binding with targetted
ApplyBind eg. ko.applyBindings(MyOtherViewModel, $('#MyOtherTarget')[0])
to fill the gaps-->
<div id="MyOtherTarget">
</div>
</div>
</div>
Ponownie jak mogę wykluczyć całe drzewo DOM poniżej div oznaczony z DoNotBindBelowThis
od applyBindings
?
Nie bardzo rozumiesz, nie powinniśmy wrócić controlsDescendantBindings fałszywe, zamiast prawdziwego? – Alwyn
'controlsDescendantBindings: true' mówi KO, że my (to powiązanie) poradzimy sobie z zastosowaniem powiązań z naszymi dziećmi. W powyższym przykładowym wiązaniu jest wszystko, co zostało zrobione, więc dzieci zostają pozostawione same sobie. Następnie możesz wrócić i wywołać 'ko.applyBindings' do określonego elementu DOM, który żyje wewnątrz elementu, który ma to powiązanie. –
Tak, to zrobiłem. Dziękuję Ci. – Alwyn