J'utilise this.menuCtrl.swipeEnable(false);
pour l'application ionic 3. Cela fonctionne bien pour désactiver le menu latéral. Mais cela ne fonctionne pas pour ionic 4! Voici mon exemple de code 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);
Cela fonctionnera également dans le constructeur. J'utilise ceci dans un projet ionic v4 - beta.2 et cela fonctionne très bien.
De plus, je constate que vous utilisez ionic
avec angular
afin que vous puissiez également utiliser le hook de cycle de vie OnInit.
Tout d'abord, swipeEnable () est maintenant swipeGesture ().
Deuxièmement, j'ai eu un problème similaire avec le MenuController et je me suis cogné la tête contre un mur plus longtemps que je ne le dévoilerai avant de réaliser qu'il serait sage de lire le ionic = documents principaux.
J'avais plusieurs menus latéraux chacun avec un identifiant unique, défini sur false par défaut, qui devait être activé sur des pages particulières. Mais MenuController ne reconnaissait pas le id's je passais.
Concordé au point d'inconscience, j'ai ouvert les ionic core docs sur github et j'ai appris que MenuController cherche maintenant le menu-id, pas id. Donc:
<ion-menu menu-id="myMenu">...
saisi par, par exemple:
this.menuCtrl.enable(true, 'myMenu')
travaux.
Comme toujours rétrospectivement, la nouvelle méthode et la solution pour la trouver semblent si évidentes.
Essayer
this.menuCtrl.enable(false);
Cela semble également être répondu ici désactiver le menu sur la page de connexion ionic 4
Essayez ceci dans votre login.page.ts
constructor(private navCrtl: NavController, private menu: MenuController) { this.menu.enable(false); }
Pour moi, son travail à l'intérieur de la méthode ngOnInit
ngOnInit() {
this.menuCtrl.enable(false); // or true
}