1

それについて同様 のトピックを見たことがありますが、私とまったく同じ構造を使用しているものはありません。

私は複数のビュー モデルを使用しており、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);

これに対する解決策はありますか?

4

2 に答える 2