【问题标题】:Call nav functions from a sub Knockout ViewModel从子 Knockout ViewModel 调用导航函数
【发布时间】:2012-06-06 15:06:45
【问题描述】:

我正在使用 ASP.NET MVC、Knockout、nav.js...等构建单页应用程序,

两个视图模型:

  1. FatherViewModel;
  2. SonViewModel;

FatherViewModel 拥有所有的 Navigation 方法, FatherViewModel 有一个 SonViewModel 的实例,

问:如何从 SonViewModel 访问这些 Navigation 方法?

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 = {...}

    //...
}

【问题讨论】:

    标签: javascript asp.net-mvc-4 knockout.js asp.net-web-api single-page-application


    【解决方案1】:

    为了从儿子视图模型中访问父亲的方法,您需要将父亲的引用传递给儿子,如下所示:

    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();
        }
    
        //...
    }
    

    【讨论】:

    • :),好的,你明白了...但这不是我要找的,我想我需要更深入地研究 Knockout...
    猜你喜欢
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 2012-06-14
    • 1970-01-01
    • 2013-11-30
    • 2017-04-08
    • 2018-08-09
    • 2014-09-23
    相关资源
    最近更新 更多