Cliquer sur le bouton de retour de l'appareil ferme l'application au lieu de revenir à la page précédente
Si sur toute ion-item
il ouvrir la page souhaitée, mais si je clique sur l'appareil touche retour il fermer l'application plutôt que de retourner à la page précédente dans android:
C'est mon ionique menu latéral:
<ion-side-menus enable-menu-with-back-views="false">
<ion-side-menu-content>
<ion-nav-bar class="bar-positive">
<ion-nav-back-button></ion-nav-back-button>
<ion-nav-buttons side="left">
<button class="button button-icon icon ion-android-menu" menu-toggle="left">
</button>
</ion-nav-buttons>
</ion-nav-bar>
<ion-nav-view name="menuContent"></ion-nav-view>
</ion-side-menu-content>
<ion-side-menu side="left">
<ion-header-bar class="bar-positive">
<h1 class="title"></h1>
</ion-header-bar>
<ion-content>
<ion-list>
<ion-item menu-close ng-click="login()">
Login
</ion-item>
<ion-item menu-close ui-sref="app.search">
Search
</ion-item>
<ion-item menu-close href="#/app/browse">
Browse
</ion-item>
<ion-item menu-close href="#/app/playlists">
Playlists
</ion-item>
</ion-list>
</ion-content>
</ion-side-menu>
</ion-side-menus>
Ici est app.js
:
.state('app', {
url: '/app',
abstract: true,
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})
.state('app.search', {
url: '/search',
views: {
'menuContent': {
templateUrl: 'templates/search/default.html'
}
}
})
.state('app.search-form', {
url: '/search-form',
views: {
'menuContent': {
templateUrl: 'templates/search/search-form.html'
}
}
})
Une solution que j'ai trouvé:
$ionicHistory.nextViewOptions({
disableBack: true,
historyRoot: true
});
Ainsi, lorsque vous cliquez sur un bouton et aller à la page suivante, cela va désactiver le bouton de retour.
source d'informationauteur manish
Vous devez vous connecter pour publier un commentaire.
Le comportement par défaut du bouton de retour est comme suit:
Revenir en arrière dans l'histoire, si l'histoire de la pile est vide -> quitter l'application.
De sorte que vous devriez vérifier l' $état vous êtes, lorsque vous appuyez sur le bouton de retour.
Avec le code suivant (placé dans la course en fonction de votre module) vous pouvez remplacer le comportement par défaut. Par exemple, vous pouvez désactiver l'application de sortie comme ceci:
Consultez la documentation de $ionicPlatform.
C'est le
menu-close
attribut dans le menu de gauche qui efface l'histoire. Vous pourriez expérimenter en les remplaçant par desmenu-toggle="left"
. Qui sera toujours fermer la barre latérale, mais garder l'histoire.J'ai fini par des raisons impérieuses le comportement pour le HW arrière-clés ci-dessous.
Il renvoie l'utilisateur à la vue de départ avant de quitter l'application en appuyant sur l'arrière. Remarque que j'ai toujours utiliser le
menu-close
attribut dans le menu latéral. Notez également que j'arrive à stocker l'url de démarrage danswindow.localStorage["start_view"]
car cela peut changer dans mon application. J'espère que ça peut aider/inspirer quelqu'un d'autre à ce problème.Une solution pourrait être:
Cela empêche la manifestation de la propagation, sinon il ne fonctionne pas.
Code: https://stackoverflow.com/users/5378702/andre-kreienbring