0

ASP.NET MVC、Knockout、nav.js などを使用してシングル ページ アプリケーションを構築しています。

2 ビュー モデル:

  1. 父ViewModel;
  2. SonViewModel;

FatherViewModel にはすべてのナビゲーション メソッドがあり、FatherViewModel には SonViewModel のインスタンスがあり、

Q: SonViewModel からこれらのナビゲーション メソッドにアクセスするにはどうすればよいですか?

FatherViewModel = function () {
    var self = this;
    var dataSource = {...}

    self.sonViewModel = new SonViewModel();

    self.nav = new NavHistory({
        params: {...},
        onNavigate: function (navEntry) {...}
    }).initialize({ linkToUrl: true });
    //navigation methods:
    self.gotoHomePage = function (){...}
}
SonViewModel = function () {
    var self = this;
    var dataSource = {...}

    //...
}
4

1 に答える 1

0

息子のビューモデルから父親のメソッドにアクセスするには、次のように、父親の参照を息子に渡す必要があります。

FatherViewModel = function () {
    var self = this;
    var dataSource = {...}

    self.sonViewModel = new SonViewModel(self);

    self.nav = new NavHistory({
        params: {...},
        onNavigate: function (navEntry) {...}
    }).initialize({ linkToUrl: true });
    //navigation methods:
    self.gotoHomePage = function (){...}
}
SonViewModel = function (father) {
    var self = this;
    self.father = father;
    var dataSource = {...}

    function gotoHomePage() {
        self.father.gotoHomePage();
    }

    //...
}
于 2012-06-01T12:51:33.653 に答える