Knockout: オブザーバブルを強制的に更新する

作成日 2012年08月20日  ·  3コメント  ·  ソース: knockout/knockout

こんにちは、みんな、

新しい値が_latestValueと異なるかどうかに関係なく、オブザーバブルに更新ハンドラーを強制的に起動させる必要があるという問題に直面しています。 これは、私のobservableが、バインドされた要素の変更イベントによって直接トリガーされるのではなく、コールバックとして呼び出されているためです(これはカスタムオートコンプリートコントロールです)。

理想的な解決策は、オブザーバブルの「フォース」フラグです。

myObservable( "new value"、/ * force = * / true)

これを行う他の方法はありますか?

乾杯、アンドリュー。

最も参考になるコメント

オブザーバブルには、この目的で呼び出すことができるvalueHasMutated関数があります。

あなたはただする必要があります:

myObservable.valueHasMutated()

全てのコメント3件

オブザーバブルには、この目的で呼び出すことができるvalueHasMutated関数があります。

あなたはただする必要があります:

myObservable.valueHasMutated()

また、オブザーバブルが更新されたときに常に通知するようにすることもできます。

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

ドキュメントにこれらの方法の両方を含めることはおそらく良い考えです。

valueHasMutatedは魅力のように機能します! みんなありがとう :-)

このページは役に立ちましたか?
0 / 5 - 0 評価