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
Appelez ensuite cet état en utilisant /landing
quand vous le souhaitez.