Mam wiele pól wejściowych, które chcę ukryć/odkryć na podstawie wyboru użytkownika.knockoutjs: czy możemy utworzyć funkcję dependent zależnie z parametrem?
Mogę to osiągnąć przez posiadanie osobnego obiektu dependObservable dla każdego wejścia, co z kolei powoduje, że obiekt dependent stanie się rodzicem.
viewModel.showField1= ko.dependentObservable(function() {
return viewModel.selectedType() ? IsFeatureVisible(viewModel, "BusinessFieldName1") : false;
}, viewModel
);
viewModel.showField1= ko.dependentObservable(function() {
return viewModel.selectedType() ? IsFeatureVisible(viewModel, "BusinessFieldName2") : false;
}, viewModel
);
jest to nużące zadanie dla każdego pola. Czy mogę powiązać elementy z funkcją dependObservable, która może przyjąć parametr? Ważną rzeczą jest, że powinien on zostać wywołany, kiedy rodzic zmieni jedną z opcji, gdy zmieni się rodzic, przechodzę przez elementy i ukrywam/odkrywam, ale to wymaga ode mnie zmapowania identyfikatora elementu. < -> nazwa firmy pole.
Aktualny
<tr data-bind="visible: showField1">
<tr data-bind="visible: showField2">
Pożądany
<tr data-bind="visible: showField('BusinessFieldName1')">
<tr data-bind="visible: showField('BusinessFieldName2')">
dziękuję. To działało pięknie. Uratowałeś mi dużo czasu. –
Wystarczy notatkę, aby zaktualizować każdego, kto przychodzi. W nowszych wersjach nokautu nie ma potrzeby używania "szablonu" w tym przypadku, możesz po prostu użyć 'foreach'.Widziałem programistów używających 'szablonu', ponieważ oni tego nie rozumieją. Nie ma nic wyjątkowego w powiązaniu z szablonem, które to umożliwia. –