2017-07-06 51 views
0

當從側面菜單中按下功能時,Ionic會有不同的導航。當你從手機按下後退按鈕時,它將立即退出。在Android中添加硬件後退按鈕到離子的Home

我指的是tutorial並對我的app.js進行了更改,但無法回到主頁但退出應用程序。

猜想的代碼(這是我所需要的):

1.如果不在家頁面,它會如按硬件後退按鈕 2.如果是在首頁返回上一頁,按硬件返回按鈕將彈出確認用戶是否真的要退出。

app.js

angular.module('myapp', ['ionic', 'myapp.controllers', 'myapp.factories']) 
.run(function($ionicPlatform,$state,$ionicHistory,$ionicPopup) { 
    $ionicPlatform.ready(function() { 
if (window.cordova && window.cordova.plugins.Keyboard) { 
     cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true); 
     cordova.plugins.Keyboard.disableScroll(true); 
    } 
     if (window.StatusBar) { 
     // org.apache.cordova.statusbar required 
     StatusBar.styleDefault(); 
     } 

    $ionicPlatform.registerBackButtonAction(function (event) { 
    event.preventDefault(); 
    if ($state.current.name == "app.home") { 
     var confirmPopup = $ionicPopup.confirm({ 
     title: 'Exit', 
     template: 'Confirm Exit' 
     }); 

     confirmPopup.then(function (res) { 
     if (res) { 
      navigator.app.exitApp(); 
     } 

     }); 
    } else { 
     $ionicHistory.nextViewOptions({ disableBack: true }); 
     $state.go('app.home'); 
    } 
    }, 100);//registerBackButton 

}); 
}) 

    $stateProvider 
     .state('app', { 
     url: '/app', 
     abstract: true, 
     templateUrl: 'templates/menu.html', 
     controller: 'menuCtrl' 
     }) 
     .state('app.home', { 
     url: '/home', 
     views: { 
      'menuContent': { 
      templateUrl: 'templates/home.html', 
      controller: 'homeCtrl' 
      } 
     } 
     }) 
     .state('app.personalitem', { 
     url: '/personalitem', 
     views: { 
      'menuContent': { 
      templateUrl: 'templates/personalitem.html', 
      controller: 'personalitemCtrl' 
      } 
     } 
     }) 
     .state('app.pStock', { 
     url: '/pStock', 
     views: { 
      'menuContent': { 
      templateUrl: 'templates/pStock.html', 
      controller: 'pStockCtrl' 
      } 
     } 
    }); 
angular.module('myapp.factories', []); 
angular.module('myapp.controllers', []); 

我怎麼做我的代碼,這樣我可以得到硬件後退按鈕的工作?

回答

0

你可以嘗試:
menu.ts
openPage(page) { this.nav.setRoot(page.component); }

menu.html
<button class="menuList" menuClose ion-item *ngFor="let p of pages" (click)="openPage(p)"> {{p.title}} </button>

app.component.ts
pages: any[] = [ { title: 'Welcome', component: IntroPage }, { title: 'Home', component: TabsPage }, ]