cordova - 在运行时动态更改 Ionic Cordova TabRoot

标签 cordova ionic-framework ionic3

我创建了一个 Ionic Tabs 应用程序。

Tabs.html:

<ion-tabs>
  <ion-tab [root]="tab1Root" tabTitle="Home" tabIcon="md-home"></ion-tab>
  <ion-tab [root]="tab2Root" tabTitle="About" tabIcon="md-information-circle"></ion-tab>
  <ion-tab [root]="tab3Root" tabTitle="My Account" tabIcon="md-log-in"></ion-tab>
</ion-tabs>

Tabs.ts

@Component({
  templateUrl: 'tabs.html'
})
export class TabsPage {

  tab1Root = HomePage;
  tab2Root = AboutPage;
  tab3Root = LoginPage;

  constructor()
  {}

}

我想要做的是,一旦我进入 tab3Root(LoginPage)并登录,我想将其更改为 LoggedinPage。 保持其他选项卡正常运行。

这可能吗?如果是的话请问如何?

谢谢

添加信息:检查/编辑此链接,它包含我的代码作为示例 stackblitz.com/edit/ionic-yff2sx

最佳答案

只需使用 setRoot 方法从该选项卡调用其他页面即可。从登录页面调用以下方法。

this.navCtrl.setRoot(this.loggedInPage);

Please refer this working demo

我假设 home.ts 作为登录页面,并从主页调用登录页面。点击主页中的转到登录页面按钮后,登录页面内容将替换主页内容。

关于cordova - 在运行时动态更改 Ionic Cordova TabRoot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47124420/

相关文章:

angular - Ionic 2 Promise 来自服务器的不同数据

angular - 类型 'catch' 上不存在属性 'PromiseLike<void>'

android - Ionic Android无法建立APK

html - 输入类型 =“file” 不适用于 phonegap

node.js - 既然 Cordova 插件已重命名并移植到 npm,如何添加它们?

javascript - Leaflet.js 不使用 PhoneGap 渲染本 map block

html - 图像按钮背景不透明 ionic

android - 无法在 Android 设备上运行 ionic 应用程序

javascript - Ionic 2导入查找js而不是ts文件

android - 多平台移动应用,使用phonegap?