ノックアウト.jsで複数のビューモデルについて話すとき、一般的に少し混乱があるのを見てきました.
ko のドキュメントでは、複数のビュー モデルを処理する方法、それらの間で通信する方法、またはいつそれらを考慮する必要があるかについて、実際にはあまり説明していません。
このサイトで、複数のビュー モデルを作成するさまざまな方法とそれらを操作する方法を説明していることがわかりました。
試してみて、さまざまなサブモデルを持つマスター モデルを作成しました。
var MasterModel = function(){
this.orders = new ordersViewModel(),
this.dates = new datesViewModel(),
this.equipment = new equipmentViewModel();
};
その後、私with: nameOfModel
は多くの場所で使用しなければならない (そして追加のラッパーや HTML コメントを作成する必要がある) か、ビューモデルの名前をプレフィックスとして使用する必要さえあることに気付きましたdata-bind="foreach: orders.getList()"
。
それに加えて、それらの間の通信の問題があり、何とか解決できますが、単一のビュー モデルを扱う場合ほど単純ではないようです。
私の質問は、複数のビュー モデルを作成する価値はありますか? もしそうなら、いつ?それはより多くの困難を追加するだけのようで、私はそれの利点を見ることにはなりません. (ええ、彼らはそれがモジュール性を維持していると言っています...しかし、私は明確な利点を見出すことにはなりません)