web-dev-qa-db-fra.com

désactiver le menu sur la page de connexion ionic 4

J'utilise la version bêta de ionic 4 pour la première fois. J'essaie de désactiver le menu sur une page de connexion, mais j'ai des problèmes.

J'ai créé l'application avec ionic-cli et le modèle sidemenu, puis j'ai généré une page de connexion.

J'ai supprimé le <ion-split-pane> depuis app.component.html

J'ai modifié app-routing.module.ts pour rediriger vers mon écran de connexion. Dans mon fichier de connexion, j'ai essayé de mettre un événement ngOnInit pour désactiver le menu sur cette page spécifique

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);
  }
}

J'ai essayé alto avec un identifiant défini dans le menu ionique

<ion-menu swipeEnabled="true" #menu>

et changer mon code avec

this.menuCtrl.enable(false, 'menu');

Ça ne marche pas, quelqu'un peut-il m'aider s'il vous plait.

Merci

6
JEKES

Ionic 4.0.0 supporte toujours ionViewWillEnter, utilisez le code ci-dessous:

ionViewWillEnter() {
  this.menuCtrl.enable(false);
}

Vous pouvez trouver un exemple complet ici .

20
coturiv

Dans mon cas dans l'application ionic 4, j'ai fait ce qui suit dans le fichier welcome.page.ts. Welcome.page.ts est la page dans laquelle je souhaite masquer le volet divisé.

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

constructor( public menuCtrl: MenuController){}

ionViewWillEnter() {
 this.menuCtrl.enable(false);
}
5
Phan Hero

Ionic 4, vous utiliseriez la propriété désactivée sur ion-menu pour vous cacher lors de la connexion.

<ion-menu [disabled]="!isLoggedIn"></ion-menu>
3
chris cooley

Résolu mon problème en utilisant

<ion-menu [swipeGesture]="false" ...>
1
maxpaj

Au lieu de le désactiver manuellement, je pense que vous devriez désactiver le balayage dans le menu ionique comme ceci:

<ion-menu [content]="content" [swipeEnabled]="false">
   Your code
</ion-menu>
<ion-nav [root]="rootPage" #content swipeBackEnabled="false"></ion-nav>

et dans la page de connexion

<ion-header>

 <ion-navbar>
   <ion-title text-center>Login</ion-title>
 </ion-navbar>

</ion-header>

Ce menu sera désactivé dans la page de connexion.

0
fiza khan