从选项卡转到根页



我想知道如何在使用选项卡时返回appComponent中定义的rootpage。setroot方法无法正常工作。当在选项卡页面中使用时,导航堆栈未清除。在"主页"上,可见返回按钮,而不是导航切换,并显示了选项卡的标题。

默认情况下,页面被缓存,如果它们被导航,则将其留在DOM中 远离但仍在导航堆栈中 例如,push())。当从 导航堆栈(on Pop()或setRoot())。

上面的语句使我期望我使用setroot页面时从缓存中清除。当它在普通页面中使用而不在选项卡中时,这似乎是正确的。

在选项卡页面的类中,有一个函数将root Page设置为"单击"按钮时。

goToHome() {
 this.navCtrl.setRoot(HomePage);
}

如何确保当我们返回主页时,没有后面按钮,并且使用了组件HTML模板中可用的房屋标题。

就像您在文档中看到的一样

请注意,每个<ion-tab>都绑定到[root]属性,就像 在上面的导航部分中。那是因为每个 <ion-tab>实际上只是导航控制器。这意味着每个 TAB具有其自己的历史记录堆栈,并且注入NavController实例 每个选项卡的儿童@Components将是每个选项卡的独特之处

因此,将页面设置为root时,您正在使用该选项卡中的导航堆栈,而不是整个应用程序中的一个。这就是为什么您需要通过以下方式获得主要导航堆栈的原因:

constructor(private app: App,...) {...}

,然后

yourMethod(): void {
    this.app.getRootNav().setRoot(YourPage);
}

尝试一下,它对我效果很好

this.childNavCtrl.setRoot(HomePage);

相关内容

  • 没有找到相关文章

最新更新