0

以前の投稿で既にこの質問をしましたが、解決に近づいていません。

ノックアウト - 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 として表示されますが、画面上の値は入力された値として表示されます。

感謝して受け取った支援

ジョン

4

0 に答える 0