从选项卡转到根页面

2024-03-21

我想知道如何返回到 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(使用前将#替换为@)

从选项卡转到根页面 的相关文章

随机推荐