Javascript 如何访问父navController 2

Javascript 如何访问父navController 2,javascript,angular,ionic2,Javascript,Angular,Ionic2,我正在通过构建一个简单的应用程序来学习离子2,但我遇到了一个无法解决的问题 该应用程序在登录页面上有一个ion导航,登录后进入选项卡导航器。因此,应用程序导航将类似于: app<Nav> { LoginPage, restrictedTabs<Nav> { Page1, ... } } 但是appNav总是未定义的,rootNav也是如此(我在一些教程中看到过…)。如果我在LoginPage controller上

我正在通过构建一个简单的应用程序来学习离子2,但我遇到了一个无法解决的问题

该应用程序在登录页面上有一个ion导航,登录后进入选项卡导航器。因此,应用程序导航将类似于:

app<Nav> {
    LoginPage,
    restrictedTabs<Nav> {
        Page1,
        ...
    }
}

但是appNav总是未定义的,rootNav也是如此(我在一些教程中看到过…)。如果我在LoginPage controller上尝试@ViewChild('appNav'),效果很好

,因为您的navcontroller是本地的,您需要访问rootNav。 这要归功于appController。 选项卡正在“根”视图中创建视图

在其中一个选项卡内加载的页面中: 首先,从ionic angular导入导航,与导航控制器位于同一位置

import { App, NavController } from 'ionic-angular';
一定要有你的登录页面

import { LoginPage } from 'pages/login/login';
然后在构造函数中提供它:

constructor(public navCtrl: NavController, public appCtrl: App) 
现在您可以访问rootnav:

this.appCtrl.getRootNav().setRoot(myLoginPage);