用于popTo的离子2 ViewController

时间:2016-06-02 07:09:34

标签: ionic-framework ionic2

我想在我的离子2应用程序中使用popTo(http://ionicframework.com/docs/v2/api/components/nav/NavController/#popTo)。这需要ViewController(http://ionicframework.com/docs/v2/2.0.0-beta.7/api/components/nav/ViewController/

我无法弄清楚如何将页面创建为可在popTo中使用的ViewController以及互联网上的文档。

有人用过popTo吗?任何抬头!!

2 个答案:

答案 0 :(得分:4)

NavController.getByIndex(int index)返回一个ViewController,因此您可以使用:this.navCtrl.popTo(getByIndex(index))

别忘了正确注入NavControlelr

import { NavController } from 'ionic-angular';

class MyComponent {
  constructor(public navCtrl: NavController) {

  }
}

请参阅此处以供参考: http://ionicframework.com/docs/v2/api/navigation/NavController/#getByIndex

答案 1 :(得分:1)

this.navCtrl.popTo()也适用于提供ViewController,这是我更喜欢popTo()的方法。依赖索引是危险的,因为您可以向流程添加页面以更改索引。这样你就可以给它弹出回页面的名称。

let popToViewController = Utilities.getViewController(this.returnPageName, this.navCtrl); this.navCtrl.popTo(popToViewController);

我必须创建一个实用程序方法来从NavController获取ViewController:

public static getViewController(pageName: string, navController: NavController): ViewController { for (let viewController of navController.getViews()) { if (viewController.name == pageName) { return viewController } } return null; }