我想知道如何返回到 rootPage 中定义的appComponent
使用选项卡时。 setRoot 方法没有按我的预期工作。当它在选项卡页面中使用时,导航堆栈不会被清除。在“主页”上,后退按钮可见,而不是导航切换,并且显示选项卡的标题。
默认情况下,如果导航页面,页面会被缓存并保留在 DOM 中
远离但仍在导航堆栈中(
例如,push())。当它们从
导航堆栈(在 pop() 或 setRoot() 上)。
上面的语句给了我这样的期望:当我使用 setRoot 时,页面将从缓存中清除。当它用在普通页面而不是选项卡中时,这似乎是正确的。
在标签页的类中,有一个函数可以在单击按钮时将根页面设置为主页。
goToHome() {
this.navCtrl.setRoot(HomePage);
}
如何确保当我们返回主页时没有后退按钮,并且使用组件的 HTML 模板中提供的主页标题。
就像你在docs http://ionicframework.com/docs/v2/components/#tabs
请注意,每个<ion-tab>
绑定到一个[root]
财产,就像
在上面的导航部分。那是因为每个<ion-tab>
实际上只是一个导航控制器。这意味着每个
选项卡有自己的历史堆栈, and NavController
注入实例
进入儿童@Components
每个选项卡的每个选项卡都是唯一的
因此,将页面设置为根时,您将使用该选项卡中的导航堆栈,而不是整个应用程序的导航堆栈。这就是为什么您需要通过执行以下操作来获取主导航堆栈:
constructor(private app: App,...) {...}
And then
yourMethod(): void {
this.app.getRootNav().setRoot(YourPage);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)