knockout data custom javascript jquery knockout.js custom-binding

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''); } };

http://jsfiddle.net/vMD74/14/

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 .