Ionique - Comment faire pour supprimer sidemenu sur la page de login seulement?
J'ai besoin de supprimer sidemenu sur ma page de connexion. Autrement, resteraient. Comment peut-il être fait? Je suis l'aide de la commande ionique 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
<ion-view title="Login">
<ion-content>
<div class="list">
<label class="item">
<button class="button button-block button-positive" type="submit" ng-click="login()">Log in</button>
</label>
</div>
</ion-content>
</div>
- S'il vous plaît essayer cette plnkr.co/modifier/3k0JeK2Zxwbo3D6kGr4L?p=preview
Vous devez vous connecter pour publier un commentaire.
Vous pouvez désactiver/activer sidemenu à tout moment et à n'importe quelle page en appelant
$ionicSideMenuDelegate.canDragContent(false)
e.g:
$scope.$on('$ionicView.leave', function () { $ionicSideMenuDelegate.canDragContent(true) });
même problème ici. ajoutez simplement cacher-nav-bar="true" à la ion-vue
Espère que cela aide!
Ionique 2
ionViewWillEnter
àionViewDidEnter
etionViewDidLeave
àionViewWillLeave
, parce que dans votre cas, je pense que la page précédente, c'est permettre à balayage après votre page web réelle est de le désactiver. Vous pouvez déboguer avec les journaux de la console à côté de chaque swipeEnable appel, pour voir l'ordre des appels.Ce que vous pouvez faire est de définir la page de connexion sans sidemenu. Vérifiez votre connexion HTML de la page de modèle. Assurez-vous que vous n'avez pas le
<ion-side-menus>
et<ion-side-menu>
éléments. Ceux-ci sont utilisés sur les pages qui ont besoin d'avoir un sidemenu.Votre page de connexion devrait ressembler à ceci:
Avoir sidemenu sur d'autres pages, il suffit de mettre le sidemenu contenu chez un parent, un état qui, dans votre code, il est
app
état.Votre menu.html fichier:
Un peu tard pour le jeu, mais ceci est une autre option pour ceux (comme moi) qui ont besoin de garder leur connexion au sein de la
side-menu
mise en page, mais besoin de cacher le côté bouton de menu tout en gardant la vue du titre.À l'intérieur de la
login.html
utilisez laion-header-bar
directive visant à créer un nouvel en-tête avec un titre, puis masquer lesion-nav-bar
dans leside-menu
présentation par l'ion-view
tag.Exemple (login.html)
Alors si vous avez besoin de désactiver tout faire glisser les gestes de le faire dans le contrôleur comme @waqas suggère.
J'ai fait une petite démo de la question.
Plunker Démo
Si vous voulez une page différemment de sidemenu.Créer un nouveau
Parent state
.Par exemple
Html :
Ensuite appeler cet état à l'aide de
/landing
quand vous le voulez.Je sais que c'est tard, mais voici une solution rapide et facile.
Ajouter ceci dans votre connexion Contrôleur
bcn
@Zoulou voici mon code complet.
J'espère que cet Ex. travail pour vous.
c'est un travail, voir plus ici: angular-ui/ui-router
Vous devez regarder le menu diapositive.
Si elle est ouverte, vous devez l'activer et de le fermer.
Appelant $ionicSideMenuDelegate.canDragContent(faux) ne désactiver la capacité à faire glisser pour accéder au menu, mais ne cache pas le hamburger basculer bouton dans la barre de navigation (si vous en avez un). Pour ce faire, vous pouvez utiliser ng-show avec $root obligatoire dans votre ion-menu latéral-élément de contenu comme ceci:
Ensuite votre login contrôleur:
vous pouvez également l'ajouter à votre application principale de contrôleur:
et il suffit de le passer à false dans chaque contrôleur vous ne voulez pas votre côté menu s'afficher dans:
ajouter est-enabled="$racine.enableLeft" à votre balise html et ng-show="$racine.showMenuIcon" pour le bouton à l'intérieur d'une balise html.
Basés sur diverses réponses ici de tout le monde et à 15 minutes de l'essayer, voici mon exemple de cela, et il devrait fonctionner aussi tout simplement copier-coller
Votre point de vue, comme login.html
Vos contrôleur, comme LoginCtrl
C'est fonctionne pour moi ...
Je pense que la solution la plus simple dans l'ouverture de la page de connexion dans une modal vue, la caisse $ionicModal