這種情況如下:我有一個帶有幾個離子選項卡元素的ion-tabs
容器,以及登錄到我的應用程序的不同用戶。我需要做的是根據記錄的用戶類型顯示或隱藏ion-tab
元素。如何有條件地隱藏和顯示標籤 - 離子2?
問題是我需要動態地這樣做,如果我使用像[show]="variable"
這樣的指令,它不起作用。
tabs.ts
import { Component } from '@angular/core';
import { Page1 } from '../page1/page1';
import { Page2 } from '../page2/page2';
@Component({
templateUrl: 'tabs.html'
})
export class TabsPage {
// this tells the tabs component which Pages
// should be each tab's root Page
tab1Root: any;
tab2Root: any;
tab3Root: any;
tab4Root: any;
tab5Root: any;
variable: any;
constructor(public userData: UserData) {
// get variable from local storage
this.userData.getUser().then((value) => {
if(value.typeLabel == 'Expert') {
this.variable = true;
console.log('1->',value.typeLabel);
}else if(value.typeLabel == 'Client'){
this.variable = false;
console.log('2->',value.typeLabel);
}
});
this.tab1Root = this.variable?Page1:Page2; <-- i want to show specify tabs depending on variable value
this.tab2Root = NotificationsPage;
this.tab3Root = MessagesPage;
this.tab4Root = InstructionsPage;
this.tab5Root = ExpertsPage;
}
}
tabs.html
<ion-tabs>
<ion-tab [root]="tab1Root" tabTitle="Home" tabIcon="home"></ion-tab>
<ion-tab [root]="tab2Root" tabTitle="tab_title" tabIcon="notifications"></ion-tab>
<ion-tab [root]="tab3Root" tabTitle="tab_title" tabIcon="home"></ion-tab>
<ion-tab [root]="tab4Root" tabTitle="tab_title" tabIcon="home"></ion-tab>
<ion-tab [root]="tab5Root" tabTitle="tab_title" tabIcon="home"></ion-tab>
</ion-tabs>
但始終this.tab1Root
回報Page1
;
我在做什麼錯?有人能幫助我嗎?
你有沒有實現呢?哪個答案對你有幫助?我也處於同樣的情況。 –
@VivekSinha,使變量變量= true來顯示選項卡,使其不顯示選項卡。在下面顯示'Mohan Gopi'的迴應。 – mahmoudismail