Ionic 2: 如何在Ionic 2中检查当前页面是否为根页面?

4

我想在Ionic 2中检查当前页面的名称,为此我在app.component.ts中使用了NavController,但是它报错说No provider for NavController。请建议一些解决方案,谢谢。

以下是我的代码:

constructor(platform: Platform,public alertCtrl: AlertController,public navControll:NavController) {
    this.platform=platform;
    //this.nav=nav;
    platform.ready().then(()=>{
     if(navControll.canGoBack())
     {
         platform.registerBackButtonAction(()=>this.myHandlerFunction());
     }  
      StatusBar.styleDefault();
      Splashscreen.hide();
})
}
2个回答

9
你可以使用 navControll.canGoBack() 方法。
如果有页面可返回,它将返回 true,因此如果返回 false,则在根目录中。

谢谢Gabriel的建议,我还有一个问题,就是在app.component.ts中应该导入什么来控制NavController,因为当我在“ionic-angular”中导入NavController时,它会显示错误。提前感谢... :) - pradip shinde

3

在 app.component 中,您不需要导入 NavController,因为您已经有:

@ViewChild(Nav) nav: Nav;

而您可以尝试这个:

this.nav

在其他组件中:
import { NavController } from 'ionic-angular';
export class Page {
   constructor(
      public navController: NavController
   ) {}
}
this.navController

要了解NavController的用法,请查看此链接。 我认为你需要使用页面索引而不是页面名称。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接