javascript - data - knockout js input
ActualizaciĆ³n de vinculaciĆ³n personalizada knockout no se dispara (1)
La función de update
de un controlador de enlace se ejecutará siempre que se actualicen los observables a los que accede . Tu función no accede a ningún observable.
Aquí hay una versión actualizada que funcionará:
ko.bindingHandlers.bind = {
init: function(element, valueAccessor) {
alert(''init'');
},
update: function(element, valueAccessor) {
ko.unwrap(valueAccessor());
alert(''update'');
}
};
Con el siguiente código, esperaría que mi función de actualización se ejecute cada vez que se actualice el observable viewModel.item. Puedo ver mis funciones de inicio y actualización activadas en la carga de la página como se esperaba, pero no cuando se hace clic en el botón que actualiza el valor del observable.
Margen:
<button id=''addButton''>item++</button>
<br/>
<span>viewModel.item = </span>
<span data-bind=''text: $data.item(), bind: viewModel.item''></span>
Guión:
$(document).ready(function() {
$(''#addButton'').click(function() {
viewModel.item(viewModel.item() + 1);
});
var viewModel = {
item: ko.observable(1)
};
ko.bindingHandlers.bind = {
init: function(element, valueAccessor) {
alert(''init'');
},
update: function(element, valueAccessor) {
alert(''update'');
}
};
ko.applyBindings(viewModel);
});
He explorado algunas de las preguntas similares y no he encontrado un ejemplo comparable. He creado un JSFiddle here .