I tienen un elemento de entrada que está unido a un nocaut observable:Knockout.JS: activadores basados en los cambios en un observable
<input type="text" data-bind="value: myText, valueUpdate: 'keyup'" />
Esto actualiza el observable en cada keyup. Ahora quiero activar eventos adicionales cuando el valor cambie.
A continuación se hace esto, en principio:
this.myTextTrigger = ko.computed(function() {
console.log(this.myText());
}, this);
Sin embargo, parece un poco torpe. También se desencadena en la creación de instancias inicial de la plantilla, donde solo quiero gestionar los cambios posteriores. ¿Existe alguna manera oficial/más sencilla de activar eventos en función de los cambios observables?
+1 para suscripciones manuales (http://knockoutjs.com/documentation/observables.html#explicitly_subscribing_to_observables) –
Un enlace personalizado parece exagerado para una sola entrada en mi humilde opinión. Una suscripción me parece una mejor opción. –
Justo lo que estaba buscando. ¡Gracias! - Con respecto a los enlaces personalizados: ¿Existe alguna forma de tener un enlace generalizado para los campos donde se supone que los cambios deben desencadenar otros eventos, y pasar esta función a la ejecución desde el enlace en el HTML? – gzost