Hola a todos,
Estoy enfrentando un problema en el momento en el que necesito poder forzar a un observable a activar su controlador de actualización independientemente de si el nuevo valor es diferente de _latestValue o no. Esto se debe a que mi observable se llama como una devolución de llamada en lugar de activarse directamente por un evento de cambio en el elemento vinculado (es un control de autocompletar personalizado).
La solución ideal sería una bandera de "fuerza" en el observable:
myObservable ("nuevo valor", / * force = * / true)
Hay alguna otra manera de hacer esto?
Saludos, Andrew.
Los observables tienen una función valueHasMutated
que puede llamar para este propósito.
Solo necesitas hacer:
myObservable.valueHasMutated()
También puede hacer que el observable siempre notifique cuando se actualice:
myObservable = ko.observable().extend({notify: 'always'});
myObservable("new value"); // will notify even if the value is already "new value"
Probablemente sea una buena idea tener ambos métodos en la documentación.
valueHasMutated funciona como un encanto! Gracias chicos :-)
Comentario más útil
Los observables tienen una función
valueHasMutated
que puede llamar para este propósito.Solo necesitas hacer:
myObservable.valueHasMutated()