2017-08-21 62 views
1

我想從ionic2/3(請參閱鏈接的圖像)選項卡中打開側邊欄菜單。 我無法找到解決方案。 已經有上ionic1一個question但不是2版本從標籤打開離子sidemenu

<ion-tabs> 
    <ion-tab [root]="tab1Root" tabTitle="page1" tabIcon="someicon"></ion-tab> 
    <ion-tab [root]="tab2Root" tabTitle="page2" tabIcon="someicon"></ion-tab> 
    <ion-tab [root]="tab3Root" tabTitle="page3" tabIcon="someicon"></ion-tab> 
    <ion-tab [root]="tab4Root" tabTitle="page4" tabIcon="someicon"></ion-tab> 
</ion-tabs> 

我試圖用一個函數來替換組件名稱從那裏我component.ts導航,但它不工作。

tab1Root = page1; 
    tab2Root = page2; 
    tab3Root = page3; 
    tab4Root = this.functionToToggleSidemenu; 
    functionToToggleSidemenu(){ 
    //here i have placed the navigation code 
    } 

open sidemenu from tab desired output screenshot

回答

0

就像你可以在the docs看到:

有時你可能需要調用,而不是導航到新 頁面的方法。當選中選項卡時,您可以使用(ionSelect)事件調用 類中的方法。

它會是這樣的:

<ion-tabs> 
    <ion-tab (ionSelect)="openSideMenu()" tabTitle="Sidemenu"></ion-tab> 
</ion-tabs> 

而在組件代碼

import { Component } from '@angular/core'; 
import { MenuController } from 'ionic-angular'; 

Component({...}) 
export class TabsPage { 

    // ... 

    constructor(public menuCtrl: MenuController) {} 

    openSideMenu() { 
    this.menuCtrl.open(); 
    } 
} 

另一種方式來做到這一點是將menuToggle指令添加到標籤按鈕直接,但AFAIK它用於在舊版本的Ionic中引起一些錯誤(不確定它是否能夠在最新版本中正常工作到b誠實)。在這裏你可以找到MenuToggle docs

<ion-tabs> 
    <ion-tab menuToggle tabTitle="Sidemenu"></ion-tab> 
</ion-tabs>