在登录页面离子4上禁用菜单

JEK*_*KES 6 ionic-framework ionic4 angular6

我第一次使用离子4的beta.我尝试在登录页面上禁用菜单,但是我遇到了一些麻烦.

我用ionic-cli和sidemenu模板创建了应用程序,然后生成了一个登录页面.

<ion-split-pane>从app.component.html中删除了它

我修改了app-routing.module.ts以重定向到我的登录屏幕.在我的登录文件中,我尝试放置一个ngOnInit事件来禁用此特定页面上的菜单

import { Component, OnInit, AfterContentInit, AfterViewInit,OnDestroy } from '@angular/core';
import { MenuController } from '@ionic/angular';
@Component({
  selector: 'app-login',
  templateUrl: './login.page.html',
  styleUrls: ['./login.page.scss'],
})
export class LoginPage implements OnInit, AfterContentInit, AfterViewInit,OnDestroy {
  constructor(public menuCtrl: MenuController) {}
  ngOnInit() {
    this.menuCtrl.enable(false);
    this.menuCtrl.swipeEnable(false);
  }
  ngAfterContentInit()  {
    this.menuCtrl.enable(false);
    this.menuCtrl.swipeEnable(false);
  }
  ngAfterViewInit() {
    this.menuCtrl.enable(false);
    this.menuCtrl.swipeEnable(false);
  }
  ngOnDestroy() {
    this.menuCtrl.enable(true);
    this.menuCtrl.swipeEnable(true);
  }
}
Run Code Online (Sandbox Code Playgroud)

我尝试在离子菜单中设置了id

<ion-menu swipeEnabled="true" #menu>
Run Code Online (Sandbox Code Playgroud)

并改变我的代码

this.menuCtrl.enable(false, 'menu');
Run Code Online (Sandbox Code Playgroud)

它不起作用,有人可以帮助我.

谢谢

cot*_*riv 18

Ionic-v4 beta仍然支持ionViewWillEnter,使用下面的代码:

ionViewWillEnter() {
  this.menuCtrl.enable(false);
}
Run Code Online (Sandbox Code Playgroud)

你可以在这里找到完整的例子.


小智 9

在我的 ionic 4 应用程序中,我在welcome.page.ts 文件中执行了以下操作。Welcome.page.ts 是我想隐藏拆分窗格的页面。

import {  MenuController } from '@ionic/angular';

constructor( public menuCtrl: MenuController){}

ionViewWillEnter() {
 this.menuCtrl.enable(false);
}
Run Code Online (Sandbox Code Playgroud)


chr*_*ley 6

Ionic 4 您将使用 ion-menu 上的 disabled 属性在登录时隐藏。

<ion-menu [disabled]="!isLoggedIn"></ion-menu>
Run Code Online (Sandbox Code Playgroud)


max*_*paj 5

使用解决了我的问题

<ion-menu [swipeGesture]="false" ...>
Run Code Online (Sandbox Code Playgroud)