I use the beta of ionic 4 for the first time. I try to disable the menu on a login page, but i have some trouble.
I've created the app with ionic-cli and the sidemenu template, then I generated a login page.
I removed the <ion-split-pane>
from the app.component.html
I modified the app-routing.module.ts to redirect to my login screen. In my login file, I tried to put an ngOnInit event to disable the menu on this specific page
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);
}
}
I alto tried with an id set in ion-menu
<ion-menu swipeEnabled="true" #menu>
and change my code with
this.menuCtrl.enable(false, 'menu');
It's not working, can some one help me please.
Thank's
In my case in ionic 4 app, I did the following in welcome.page.ts file. welcome.page.ts is the page in which I want to hide split pane.
Solved my issue using
Ionic 4 you would use the disabled property on ion-menu to hide on login.
Instead of manually disabling it i think you should disable the swipe in ion-menu like this:
and in the login page
This way menu will be disabled in the Login Page.
Ionic 4.0.0 still supports
ionViewWillEnter
, use below code:You can find full example here.