2017-08-03 62 views
1

我有兩張地圖。每張地圖都有自己的觀點。我使用製表符從視圖跳轉到視圖。但是,當我使用這種導航方法時,根目錄未被設置,頁面在被訪問後未被推送或彈出或設置。這是我使用的谷歌地圖的問題。當我在菜單區域使用帶有set root的常規菜單時,似乎不會發生此功能。請幫忙。謝謝。setRoot for Ionic 2+中的Tab頁面

tabs.html

<ion-tabs> 
    <ion-tab [root]="tab1Root" [tabTitle]="tab1Title"></ion-tab> 
    <ion-tab [root]="tab2Root" [tabTitle]="tab2Title"></ion-tab> 
</ion-tabs> 

tabs.ts

export class TabsPage { 
    tab1Root: any = Tab1Root; 
    tab2Root: any = Tab2Root; 

    tab1Title = "title1"; 
    tab2Title = "title2"; 

    constructor(public navCtrl: NavController) { 

    } 

} 

回答

0

關於使用代碼標籤之間的導航,你能做到這樣。 您應該使用select(index|tab)方法Tabs。您可以在標籤頁中獲得Tabs的編號。像

<ion-tabs #theTabs selectedIndex="{{tabIndexNum}}" class="customer-tab"> 
    <ion-tab [root]="tab1Root" [tabsHideOnSubPages]="true"></ion-tab> 
    <ion-tab [root]="tab2Root"[tabsHideOnSubPages]="true"></ion-tab> 
</ion-tabs> 

然後在組件,使用@ViewChild('theTabs') tabRef: Tabs得到裁判的Tabs實例。

[已更新]
對於谷歌地圖,如果您想在SPA中使用它,例如angular,ionic,則應該在組件的init函數中將其稱爲init方法。

+0

混淆了組件在這種情況下的樣子,因爲就我而言,我仍然遇到同樣的問題。 – userlkjsflkdsvm

0

請使用下面的例子

tabs.html

<ion-tabs [selectedIndex]="mySelectedIndex"> 
    <ion-tab [root]="tab1Root" [tabTitle]="tab1Title"></ion-tab> 
    <ion-tab [root]="tab2Root" [tabTitle]="tab2Title"></ion-tab> 
</ion-tabs> 

tabs.ts

import { NavParams } from 'ionic-angular'; 

export class TabsPage { 
    tab1Root: any = Tab1Root; 
    tab2Root: any = Tab2Root; 

    tab1Title = "title1"; 
    tab2Title = "title2"; 

    constructor(navParams: NavParams) { 
    this.mySelectedIndex = navParams.data.tabIndex || 0; 
    } 

} 

添加以下代碼menu.ts(app.ts)文件導航

openPage(page) { 
    let params = {}; 

    if (page.index) { 
     params = { tabIndex: page.index }; 
    } 
} 

我希望它爲你工作。