2016-09-30 102 views
0

離子2似乎從1非常不同的我用了啓動項目,而這些都是我的文件:顯示不同的選項卡上的離子if語句2

Tabs.html

<ion-tabs> 
    <ion-tab [root]="tab1Root" tabTitle="Home" tabIcon="home"></ion-tab> 
</ion-tabs> 

Tabs.ts

import { Component } from '@angular/core'; 

import { SigninPage } from '../Auth/Signin/Signin'; 

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

    tab1Root: any = SigninPage; 

    constructor() { 

    } 
} 

app.components.ts

import { Component } from '@angular/core'; 
import { Platform } from 'ionic-angular'; 
import { StatusBar } from 'ionic-native'; 

import { TabsPage } from '../pages/Tabs/Tabs'; 

@Component({ 
    template: `<ion-nav [root]="rootPage"></ion-nav>` 
}) 
export class MyApp { 
    rootPage = TabsPage; 

    constructor(platform: Platform) { 
     platform.ready().then(() => { 
      StatusBar.styleDefault(); 
     }); 
    } 
} 

有沒有什麼方法可以顯示if條件的不同選項卡?例如,我想根據if塊顯示Tabs.App.htmlTabs.Auth.html

用Ionic 2做什麼最好的方法是什麼?

回答

0

在ionic2中,每頁都伴有它的.ts文件。因此,如果您需要2個選項卡,app.htmlauth.html,則需要創建這兩個頁面及其.ts文件。

這樣,你就可以寫一個if語句說:

if(1 > 2){ 
    this.rootpage = AuthTab; 
}else{ 
    this.rootpage = AppTab; 
} 

PS不要忘記導入您的組件

+0

我在哪裏定義這個邏輯是什麼?在'app.components.ts'中? – Aris

+0

Thage頁面設置所有選項卡。可能是'app.component',不知道你的設置 – Ivaro18

+0

我想我必須爲Ionic 2做這樣的事情。'$ rootScope。$ on(「$ stateChangeStart」,(event,toState)'。有什麼辦法基本上我必須在'app.components.ts'上監聽狀態改變事件,如果目標狀態以「Auth」開始,我可以將this.rootPage設置爲AuthTab,否則設置爲AppTab。聽狀態改變事件? – Aris