我想在我的离子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吗?任何抬头!!
答案 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;
}