2017-08-03 41 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 }; 
    } 
} 

我希望它为你工作。