2017-08-21 63 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>