Knockout: Forçando um observável a atualizar

Criado em 20 ago. 2012  ·  3Comentários  ·  Fonte: knockout/knockout

Olá a todos,

Estou enfrentando um problema no momento em que preciso forçar um observável a disparar seu manipulador de atualização, independentemente de o novo valor ser diferente de _latestValue ou não. Isso ocorre porque meu observável está sendo chamado como um retorno de chamada, em vez de ser acionado diretamente por um evento de alteração no elemento vinculado (é um controle de preenchimento automático personalizado).

A solução ideal seria um sinalizador de "força" no observável:

myObservable ("novo valor", / * force = * / true)

Existe alguma outra maneira de fazer isso?

Saúde, Andrew.

Comentários muito úteis

os observáveis ​​têm uma função valueHasMutated que você pode chamar para esse propósito.

Você só precisa fazer:

myObservable.valueHasMutated()

Todos 3 comentários

os observáveis ​​têm uma função valueHasMutated que você pode chamar para esse propósito.

Você só precisa fazer:

myObservable.valueHasMutated()

Você também pode fazer com que o observável sempre notifique quando for atualizado:

myObservable = ko.observable().extend({notify: 'always'});
myObservable("new value");  // will notify even if the value is already "new value"

Provavelmente, é uma boa ideia ter esses dois métodos na documentação.

valueHasMutated funciona perfeitamente! Obrigado rapazes :-)

Esta página foi útil?
0 / 5 - 0 avaliações