Ionic – Comment supprimer sidemenu sur la page de connexion seulement?

Je dois supprimer le menu latéral uniquement sur ma page de connexion. Sinon rest. Comment cela peut-il être fait? J’utilise la commande ionic ionic start myApp sidemenu pour créer le projet.

app.js

 .config(function($stateProvider, $urlRouterProvider) { $stateProvider .state('login', { url: "/login", templateUrl: "templates/login.html", controller: 'LoginCtrl' }) .state('app', { url: "/app", abstract: true, templateUrl: "templates/menu.html", controller: 'AppCtrl' }) .state('app.search', { url: "/search", views: { 'menuContent' :{ templateUrl: "templates/search.html" } } }) 

page de connexion

   

Vous pouvez désactiver / activer sidemenu à tout moment sur n’importe quelle page en appelant

$ionicSideMenuDelegate.canDragContent(false)

par exemple:

 angular.module('ABC').controller('xyzCtrl', function($scope, $ionicSideMenuDelegate) { $ionicSideMenuDelegate.canDragContent(false) }); 

même problème ici. il suffit d’append hide-nav-bar = “true” à la vue ionique

  

J’espère que cela aide!

Ionique 2

 import { MenuController } from 'ionic-angular'; export class LoginPage { constructor(public menuCtrl: MenuController) { } ionViewWillEnter() { this.menuCtrl.swipeEnable( false ) } ionViewDidLeave() { this.menuCtrl.swipeEnable( true ) } } 

Ce que vous pouvez faire est de définir la page de connexion sans un sidemenu. Vérifiez le modèle HTML de votre page de connexion. Assurez-vous de ne pas avoir les éléments et . Celles-ci sont utilisées sur les pages nécessitant un menu latéral.

Votre page de connexion devrait ressembler à ceci:

      

Pour avoir un sidemenu sur d’autres pages, placez simplement le contenu du sidemenu dans un état parent qui, dans votre code, correspond à l’état de l’ app .

Votre fichier menu.html:

            

Un peu tard pour le jeu, mais c’est une autre option pour ceux (comme moi) qui doivent conserver leur vue de connexion dans la disposition des side-menu mais doivent masquer le bouton du menu latéral tout en conservant le titre de la vue.

Dans la vue login.html , utilisez la directive ion-header-bar pour créer un nouvel en-tête avec un titre, puis masquez la ion-nav-bar dans la disposition des side-menu via la balise ion-view .

Exemple (login.html)

  

Login

Ensuite, si vous avez besoin de désactiver les mouvements de glisser le faire dans le contrôleur, comme le suggère @waqas.

J’ai fait une petite démo pour la question.

Démonstration Plunker

Si vous souhaitez une page différente de sidemenu.Créez un nouvel Parent state . Par exemple

 $stateProvider .state('landing', { url: '/landing', controller: 'landingCtrl', templateUrl: 'landing.html' }); 

Html:

      

Welcome To Landing Page

My App

Login

Appelez ensuite cet état en utilisant /landing quand vous le souhaitez.