2015-10-20 89 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