如何从离子2中的导航获取当前页面

amy*_*yst 16 ionic2

我是Ionic2的新手,我正在尝试根据当前菜单选择构建动态标签.我只是想知道如何使用导航控制器获取当前页面.

...
export class TabsPage {
  constructor(navParams: NavParams,navCtrl:NavController) {
    //here I want to get current page
 }
}
...
Run Code Online (Sandbox Code Playgroud)

从api文档我觉得getActiveChildNav()getActive()将给我当前页面,但我不知道ViewController/ Nav.

任何帮助将不胜感激.提前致谢.

Raf*_*tta 34

完整示例:

import { NavController } from 'ionic-angular';

export class Page {

  constructor(public navCtrl:NavController) {
  }

  (...)

  getActivePage(): string {
    return this.navCtrl.getActive().name;
  }
}
Run Code Online (Sandbox Code Playgroud)

获取当前页面名称的方法:

this.navCtrl.getActive().name
Run Code Online (Sandbox Code Playgroud)

更多细节在这里

  • 在生产模式下延迟加载它不起作用 (3认同)
  • [我认为根本不推荐使用这种方法,因为生产会缩小文件名](https://forum.ionicframework.com/t/viewcontroller-name/100497) (3认同)

Adi*_*mar 7

我的天啊!这个真正帮助的伴侣,谢谢!@Deivide我被困了1个月,你的回答救了我.:) 谢谢!

if(navCtrl.getActive().component === DashboardPage){
    this.showAlert();
}
else
{
    this.navCtrl.pop();    
}
Run Code Online (Sandbox Code Playgroud)