Tengo varias cajas de entrada que quiero ocultar/mostrar en función de una selección del usuario.knockoutjs: ¿podemos crear una función dependienteObservable con un parámetro?
puedo lograr esto por tener un dependentObservable separado para cada entrada y a su vez hacer que el dependentObservable observar la selección de los padres.
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
);
esto es un poco tediosa que hacer para cada campo. ¿Puedo vincular los elementos con una función dependienteObservable que puede tomar un parámetro? Lo importante es que debe activarse cuando el padre cambia
Otra opción es que cuando el padre cambia, recorro los elementos y ocultar/mostrar pero eso me requerirá asignar el elemento id < -> nombre comercial del campo.
actual
<tr data-bind="visible: showField1">
<tr data-bind="visible: showField2">
Desired
<tr data-bind="visible: showField('BusinessFieldName1')">
<tr data-bind="visible: showField('BusinessFieldName2')">
gracias. Funcionó maravillosamente. Me salvaste mucho tiempo. –
Solo una nota para actualizar a cualquiera que se presente. En versiones más recientes de knockout no hay necesidad de usar una 'plantilla' en este caso, solo puede usar' foreach'.He visto desarrolladores usando 'plantilla' porque no entendían esto. No hay nada especial sobre el enlace de la plantilla que lo habilite. –