如何禁用 ionic 4 中的侧边菜单?
How to disable side menu in ionic 4?
我正在使用 this.menuCtrl.swipeEnable(false);
ionic 3 应用程序。这适用于禁用侧边菜单。但是,它不适用于 ionic 4!下面是我的 ionic 4 代码示例:
login.page.ts
constructor(public loginService: LoginService, private router: Router, public menuCtrl: MenuController) {
this.menuCtrl.swipeEnable(false);
}
app.component.html
<ion-app>
<ion-split-pane>
<ion-menu type="push">
<ion-header>
<ion-toolbar color="success">
<ion-title>Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-menu-toggle auto-hide="false" *ngFor="let p of appPages">
<ion-item [routerDirection]="'root'" [routerLink]="[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>
尝试
this.menuCtrl.enable(false);
这里好像也有回答
this.menuCtrl.enable(false);
这也适用于构造函数。我在 ionic v4 - beta.2 项目中使用它并且工作正常。
此外,我看到您将 ionic
与 angular
一起使用,因此您也可以使用 OnInit 生命周期挂钩。
首先,swipeEnable() 现在是 swipeGesture()。
其次,我在使用 MenuController 时遇到了类似的问题,我用头撞墙的时间比我透露的要长,然后才意识到阅读 ionic 是明智的核心文档。
我有多个侧边菜单,每个都有一个唯一的 ID,默认设置为 false,必须在特定页面上启用。但是 MenuController 没有识别出我传入的 id's。
我在 github 上打开了 ionic 核心文档,发现 MenuController 现在寻找的是菜单 ID,而不是 ID。所以:
<ion-menu menu-id="myMenu">...
例如:
this.menuCtrl.enable(true, 'myMenu')
有效。
回想起来,新方法和找到它的解决方案似乎都很明显。
对我来说,它在方法 ngOnInit 中工作
ngOnInit() {
this.menuCtrl.enable(false); // or true
}
在你的 login.page.ts
中试试这个
constructor(private navCrtl: NavController, private menu: MenuController) {
this.menu.enable(false);
}
我正在使用 this.menuCtrl.swipeEnable(false);
ionic 3 应用程序。这适用于禁用侧边菜单。但是,它不适用于 ionic 4!下面是我的 ionic 4 代码示例:
login.page.ts
constructor(public loginService: LoginService, private router: Router, public menuCtrl: MenuController) {
this.menuCtrl.swipeEnable(false);
}
app.component.html
<ion-app>
<ion-split-pane>
<ion-menu type="push">
<ion-header>
<ion-toolbar color="success">
<ion-title>Menu</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-list>
<ion-menu-toggle auto-hide="false" *ngFor="let p of appPages">
<ion-item [routerDirection]="'root'" [routerLink]="[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>
尝试
this.menuCtrl.enable(false);
这里好像也有回答
this.menuCtrl.enable(false);
这也适用于构造函数。我在 ionic v4 - beta.2 项目中使用它并且工作正常。
此外,我看到您将 ionic
与 angular
一起使用,因此您也可以使用 OnInit 生命周期挂钩。
首先,swipeEnable() 现在是 swipeGesture()。
其次,我在使用 MenuController 时遇到了类似的问题,我用头撞墙的时间比我透露的要长,然后才意识到阅读 ionic 是明智的核心文档。
我有多个侧边菜单,每个都有一个唯一的 ID,默认设置为 false,必须在特定页面上启用。但是 MenuController 没有识别出我传入的 id's。
我在 github 上打开了 ionic 核心文档,发现 MenuController 现在寻找的是菜单 ID,而不是 ID。所以:
<ion-menu menu-id="myMenu">...
例如:
this.menuCtrl.enable(true, 'myMenu')
有效。
回想起来,新方法和找到它的解决方案似乎都很明显。
对我来说,它在方法 ngOnInit 中工作
ngOnInit() {
this.menuCtrl.enable(false); // or true
}
在你的 login.page.ts
中试试这个constructor(private navCrtl: NavController, private menu: MenuController) {
this.menu.enable(false);
}