Knockout: Obligar a un observable a actualizarse

Creado en 20 ago. 2012  ·  3Comentarios  ·  Fuente: knockout/knockout

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.

Comentario más útil

Los observables tienen una función valueHasMutated que puede llamar para este propósito.

Solo necesitas hacer:

myObservable.valueHasMutated()

Todos 3 comentarios

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 :-)

¿Fue útil esta página
0 / 5 - 0 calificaciones