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