計算されたプロパティ(時間を含む)にバインドされたテキスト入力を持つフォームがあります。ユーザーが値を入力すると、合計分数を含む整数値に解析されます。
これは単純な関数ではないため (時間をフォーマットする方法は多数あります)、プロパティにはThrottle Extenderがあります。
これはすべて正常に機能します。問題は、ユーザーが値を入力してすぐに保存ボタンを押すと、調整された値がまだ評価されていないことです。
self.totalMinutes = ko.observable(0);
self.totalMinutesValue = ko.computed({
read: function() {
return MinutesToFormat(self.totalMinutes());
}
write: function(value) {
self.totalMinutes(FormatToMinutes(value));
}
}).extend({ throttle: 250 });
self.Save = function() {
// Send self.totalMinutes() to server, need to ensure the throttled
// computed has been written.
}
send メソッドからすぐにプロパティを強制的に更新する簡単な方法はありますか? を追加することもできますsetTimeout
が、もちろんそれは理想とはほど遠いものです。