Désactiver le balayage pour afficher sidemenu ionic 2
Je suis en utilisant un sidemenu ionique 2. quand je balayez vers cette page, de gauche à droite le menu de gauche glisse vers l'extérieur, j'ai besoin de désactiver sidemenu glisser dans la page en particulier.
app.html
<ion-menu [content]="content">
<ion-content>
<ion-list>
<button ion-item *ngFor="let p of pages" menuClose (click)="openPage(p)" >
<ion-icon name="{{p.icon}}" item-left></ion-icon>
{{p.title}}
</button>
</ion-list>
</ion-content>
</ion-menu>
<ion-nav id="nav" [root]="rootPage" #content swipeBackEnabled="true"></ion-nav>
page.html je suis allé à désactiver swipemenu dans cette page, Désactivez seulement quand je balayez
import {Component} from '@angular/core';
import {NavController} from 'ionic-angular';
@Component({
templateUrl: 'build/pages/portrait/portrait.html'
})
export class Portrait {
}
page.html
<ion-navbar persianred *navbar>
<button menuToggle>
<ion-icon name="menu"></ion-icon>
</button>
<ion-title>
Portrait
</ion-title>
</ion-navbar>
source d'informationauteur sridharan | 2016-07-29
Vous devez vous connecter pour publier un commentaire.
Il y a plusieurs façons de le faire, en fonction de l'endroit où vous souhaitez désactiver le menu:
1) le Désactiver juste sur une page
Si vous souhaitez désactiver le glisser pour afficher dans une page, le plus simple serait d'injecter le
MenuController
instance et d'utiliser leswipeEnable(shouldEnable, menuId)
méthode (Ionique docs).Veuillez remarquer deux choses:
1) Si vous utilisez le code, puis vous aurez besoin d'ajouter que
id
à votre menu:<ion-menu [content]="content" side="left" id="menu1">
2) Vous avez besoin de la vue pour être déjà chargé pour être en mesure de désactiver le menu, donc une façon de le faire est par l'utilisation de la
ionViewDidEnter
événement.2) Désactiver sur certains pages
Si vous souhaitez désactiver le menu de gauche sur certaines pages (comme la connexion/s'inscrire à la page), mais vous ne voulez pas d'injecter de l'
MenuController
sur chacune de ces pages et de gérer lesionViewDidEnter
/ionViewWillLeave
vous pouvez utiliser un Personnalisé Décorateur. Jetez un oeil à cette SORTE de réponse pour plus d'informations.3) Désactiver toutes les pages
Si vous souhaitez désactiver le glisser pour afficher partout dans votre application, le plus simple serait d'utiliser le
swipeEnabled
entrée de la propriété (Ionique docs):Vous pouvez utiliser le
enable
méthode de laMenuController
pour activer/désactiver le menu d'une page particulière.Appel activer avec l'ID de Menu lorsque vous ouvrez la page et de le désactiver lorsque vous vous éloignez. Vous pouvez omettre l'ID de Menu si vous avez un menu unique instance de votre application.
Source
meilleur et facile
dans
app.component.ts file
changement
à
<ion-menu [content]="content" hidden>
C'est ça,
Il permet de masquer la sidemenu
Dans mon cas, ce qui a fonctionné, c'était d'ajouter
[swipeEnabled]="false"
à ion-menu.De cette façon, je peux afficher le menu de gauche uniquement lorsque l'icône de menu est cliqué.
Ceci est basé sur Ionique 2 documentation: Menu.
Basé sur le "swipeEnabled" option, ce que j'ai fait a été mis une condition à l'aide d'une variable booléenne.
Il a très bien fonctionné pour moi.
Juste un conseil: Peut-être que quelqu'un d'avis que dans le cas où la variable n'est pas un global, l'application va rester sans glissement, même après le saut vers une autre page. Cependant, au-delà de réglage de la variabel mondial permettra de résoudre, une fois que l'utilisateur de fermer et de rouvrir l'application, le glissement de fonctionner normalement.
simple et la meilleure réponse est ici...
Dans votre page d'accueil.ts,
De désactiver glisser dans toutes les autres pages sauf la page d'accueil.