2015-10-20 86 views
0

我有一個離子視圖內的模態如下:禁用機器人後退按鈕

<ion-view id="doctors" cache-view="false" view-title="Directorio médico" ng-controller="DoctorsDirController as doctorsCtrl"> 
    <ion-content> 
       <!-- stuff inside here --> 
    </ion-content> 
    <!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
      When this modal is open disable android back button 
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~--> 
    <script id="result-details.html" type="text/ng-template"> 
     <ion-modal-view id="result-details-modal"> 
     <ion-content> 

     </ion-content> 
     </ion-modal-view> 
    </script> 
</ion-view> 

這對於在app.js內部config父視圖(醫生)的狀態:

.config(function ($stateProvider, $urlRouterProvider, $ionicConfigProvider) { 

     .state('doctors', { 
     url: '/doctors', 
     templateUrl: "templates/doctors.html" 
    }) 

所以裏面app.js run我想:

  1. 禁用Android的後退鍵父視圖
  2. 但所有其他視圖作爲普通的後退按鈕。

代碼:

.run(function ($ionicPlatform, $state) {$ionicPlatform.ready(function() { 


    $ionicPlatform.registerBackButtonAction(function() { 
     //if we are in doctors do nothing 
     if ($state.current.url == "/doctors") { 
     //do nothing 

     //else if we are in dashboard exit app 
     } else if ($state.current.name == "dashboard") { 
     ionic.Platform.exitApp(); 

     //else normal back-button functionality 
     } else { 
     navigator.app.backHistory(); 
     } 
    }, 100); 

    }) 

的問題是,當模式被稱爲「醫生」裏面似乎是從母體不同的狀態,「醫生」和我的Android後退按鈕壓倒一切的不工作了。

回答

0

使用這種在模式禁用Android的後退按鈕:

$scope.modal.hardwareBackButtonClose = false;

+0

哇感謝該工作就好了! – Jeka