それについて同様 のトピックを見たことがありますが、私とまったく同じ構造を使用しているものはありません。
私は複数のビュー モデルを使用しており、MasterModel 関数を作成してこれを処理します。これを後で に引数として渡しますapplyBindings
。
基本的には次のようなものです:
var MasterModel = function(){
this.user = new UserViewModel();
this.department = new DepartmentViewModel();
}
ko.applyBindings(MasterModel);
現在、Javascript からビュー モデルの 1 つ内の関数にアクセスできるようにしたいと考えていますが、問題が発生しています。
これに変更すると、viewmodel関数を呼び出すことができましたapplyBindings
:
var mm = new MasterModel();
ko.applyBindings(mm);
mm.user.sayHi();
しかし、その後、次のようなことが機能しなくなることがわかりました。
<ul data-bind="foreach: department.list()">
<li data-bind="text: department.getDemo($data)"></li>
</ul>
メッセージ: 部門が定義されていません
ここでわかるように、使用すると完全に機能しますko.applyBindings(MasterModel);
これに対する解決策はありますか?