在 Ionic 3 的一个应用程序中实现两个选项卡页面(每个选项卡包含一个离子选项卡)



摘要

您如何实现两个页面,每个页面都有一个<ion-tabs>(每个页面至少包含两个<ion-tab>)?选项卡名称和图标会更改,选项卡内容仅在单击后才会更改。

细节

我有一个问题,我努力寻找解决方案。我看到其他人发布关于这两个的帖子,也没有成功。

首先,对于上下文,我上传了一个 GitHub 存储库:https://github.com/janhesters/twotabs。

我想在 Ionic 3 中编写一个应用程序,其中我有两个页面,每个页面包含 4 个<ion-tab><ion-tabs>。我写了两页,分别叫home和hometwo(称为basepages)。在每个html中,我都声明了离子选项卡。

然后我做了4个页面(关于,大约两个,联系人,联系人两个;称为标签页),每个页面两个在每个主页的<ion-tab>s中。

接下来,我在第一个主页上做了一个按钮,将第二个主页推到 navCtrl 上。(我没有将按钮放在其中一个选项卡页面上,因为这样页面就会被推到该导航上,因为每个选项卡页面似乎都有自己的导航 https://ionicframework.com/docs/api/components/tabs/Tab/)。

预期行为:第二个基本页面被推送到堆栈上,并显示新选项卡及其各自的名称图标和内容。

观察到的行为:第二个基本页面被推送到堆栈上,并显示新选项卡及其各自的名称和图标。但是页面的内容是第一个基本页面的相应选项卡之一。只有在单击每个新选项卡后,内容才会更改。

我该如何解决这个问题?(我不太好的解决方案之一,我不知道该怎么做,涉及在页面加载后立即"幽灵点击"所有选项卡)。

我没有检查你的源代码,但我认为这可能有效。你能快速尝试根导航吗?

import { App } from 'ionic-angular';

constructor(app: App) { ... }

然后使用以下代码而不是 navCtrl.push()

this.app.getRootNav().push(HomeTwoPage)

我发现的唯一解决方案是在选项卡中使用条件离子选项卡.html:

<ion-tabs id="locTabs" *ngIf="user && user.typeProfil == 'loc'">
<ion-tab [root]="annonce" tabTitle="Annonces" tabIcon="home"></ion-tab>
<ion-tab [root]="chat" tabTitle="Message" tabIcon="chatbubbles" [tabBadge]="nbUnread"></ion-tab>
<ion-tab [root]="agenda" tabTitle="Agenda" tabIcon="calendar"></ion-tab>
<ion-tab [root]="docs" tabTitle="Documents" tabIcon="document"></ion-tab>
<ion-tab [root]="userForm" tabTitle="Profil" tabIcon="person"></ion-tab>
</ion-tabs>
<ion-tabs id="proTabs" *ngIf="user && user.typeProfil != 'loc'">
<ion-tab [root]="annoncePro" tabTitle="Annonces" tabIcon="home"></ion-tab>  
<ion-tab [root]="chat" tabTitle="Message" tabIcon="chatbubbles" [tabBadge]="nbUnread"></ion-tab>
<ion-tab [root]="agenda" tabTitle="Agenda" tabIcon="calendar"></ion-tab>
<ion-tab [root]="docsPro" tabTitle="Documents" tabIcon="document"></ion-tab>
<ion-tab [root]="userForm" tabTitle="Profil" tabIcon="person"></ion-tab>
</ion-tabs>

答案已经在 Ionic 论坛上提供 https://forum.ionicframework.com/t/99-cant-solve-this-creating-two-tab-pages-in-ionic-ion-tabs/118477/12

享受:)

相关内容

  • 没有找到相关文章

最新更新