如何在Ionic 4中切换菜单

时间:2018-12-16 16:06:35

标签: ionic-framework ionic4

我是Ionic的新手,我正在使用sidemenu在Ionic 4中开发一个基本应用程序。

我要在侧面菜单中添加一个按钮,当我单击该按钮时,菜单不会切换。有人可以帮我吗? 这是我正在尝试的代码。

<ion-button color="primary" (click)="function()" class="class" menuToggle expand="block" fill="outline"> text </ion-button>

  

不重复问题的说明

请检查粗体字,我已经有一个正常工作的菜单,但是问题是我想在单击ion-button而不是ion-item时关闭该菜单。

2 个答案:

答案 0 :(得分:8)

将您的ion-button封装在ion-menu-toggle元素中,就像这样:

<ion-menu-toggle>
  <ion-button>Toggle Menu</ion-button>
</ion-menu-toggle>

View the documentation here

编辑: 如果您不想使用ion-menu-toggle,则可以执行以下操作:

在您的app.component.ts中:

import { MenuController } from '@ionic/angular'; //import MenuController to access toggle() method.

@Component({
  selector: 'app-root',
  templateUrl: 'app.component.html'
})
export class AppComponent {
  constructor(
    public menuCtrl: MenuController
  ) {
    this.initializeApp();
  }

toggleMenu() {
    this.menuCtrl.toggle(); //Add this method to your button click function
  }

}

在您的app.component.html中:

<ion-button (click)="toggleMenu()">Toggle Menu</ion-button>

要查看所有方法,请check the docs here

答案 1 :(得分:-3)

在您的app.component.html中:

<ion-app>
  <ion-split-pane when="sm">
      <ion-menu>
        <ion-header>
          <ion-toolbar color="primary" text-center>
            <ion-title>MyApp</ion-title>
          </ion-toolbar>
        </ion-header>
        <ion-content>
          <ion-list>
            <ion-menu-toggle auto-hide="false" *ngFor="let p of pages">
              <ion-item [routerDirection]="'root'" href={{p.url}}>
                <ion-icon slot="start" [name]="p.icon"></ion-icon>
                <ion-label>
                  {{p.title}}
                </ion-label>
              </ion-item>
            </ion-menu-toggle>
          </ion-list>
        </ion-content>
      </ion-menu>
      <ion-router-outlet main></ion-router-outlet>
  </ion-split-pane>
</ion-app>