2017-07-06 6 views
0

サイドメニューから機能を押すと、Ionicのナビゲーションが異なります。ハンドセットから戻るボタンを押すとすぐに終了します。ハードウェアを追加するアンドロイドのイオニックのためのホームに戻るボタン

このtutorialを参照して、私のapp.jsに変更を加えましたが、ホームページに戻ることはできませんが、アプリケーションを終了することはできません。

に仮定したコード(これは私が必要なものである):

それがホームページである2.Ifはプレスハードウェアバックボタン 場合ではないホームページで、それは前のページに戻ります1.if 、ハードウェアの戻るボタンを押して、実際に終了したいかどうかを確認するためのポップアップを表示します。私は、ハードウェア、バックボタンの仕事を得ることができるように

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 }, ]

関連する問題