以前の投稿で既にこの質問をしましたが、解決に近づいていません。
ノックアウト - Subscribe を使用して Observable 値を更新できません (拡張機能の検証のため)
私は、TextBoxFor にバインドされているオブザーバブル (Amount) を持っています。
@Html.TextBoxFor(m => m.Amount, new { type = "number", data_bind = "value: Amount" })
「金額」が変わります。
var viewModel = {
Amount: ko.observable().extend({numeric: 0, max: 999999})
};
解決策を実装しようとしましたが (以前の投稿への回答で)、これらを機能させることができませんでした。
私が思いついた最善の方法は、次のように計算されたものを作成することです。これにより、入力値がチェックされ、最初の試行で正しく更新されます。その後の値の変更は画面上の変更をトリガーしませんが、コードをステップスルーすると、ViewModel.Amount 値が更新されるようです。
@Html.TextBoxFor(m => m.Amount, new { type = "number", data_bind = "value: amountMin" })
quoteVehicleViewModel.VehicleMileage = ko.observable(0);
viewModel.amountMin = ko.computed({
read: function () {
return viewModel.Amount();
},
write: function (value) {
if (value < 50) {
viewModel.Amount(50);
}
}
}).extend({ numeric: 0, max: 999999 });
** コンソールに入力された "viewModel.Amount()" では、値が 1000 として表示されますが、画面上の値は入力された値として表示されます。
感謝して受け取った支援
ジョン