2017-07-04 76 views
0

我希望如果用戶登錄,他不能通過硬件後退按鈕進入登錄和OTP頁面。當用戶使用離子登錄時停止用戶登錄頁面

.controller('viewoemCtrl', function($rootScope,$scope,$http,$ionicPopup,$state,$ionicHistory,$ionicLoading,productService,$ionicPlatform) { 
$scope.user = {}; //declares the object user 

$ionicPlatform.onHardwareBackButton(function() { 
    if (true) { // your check here 
     $ionicPopup.confirm({ 
      title: 'Exit from App!', 
      template: 'are you sure you want to exit?' 
     }).then(function (res) { 
      if (res) { 
       navigator.app.exitApp(); 
      } 
     }) 
    } 
}) 
}) 
+0

的任何情況下,你談論的註銷功能硬件後退按鈕funtionality ? –

+0

不,我正在採取後退按鈕功能只有不註銷功能。 –

+0

你可以通過這個:https://stackoverflow.com/questions/30916966/how-to-skip-login-page-if-user-is-already-logged-in-ionic-framework –

回答

0

你並不需要檢查上的後退按鈕的點擊,因爲這本身將調用來自UI的路由器進行狀態轉變。 只需註冊一個回撥到ui-router觸發的$stateChangeStart事件,如果用戶已登錄且在目標狀態爲登錄的情況下控制該事件,則在此情況下您將阻止轉換。 這將處理狀態轉移(後退按鈕,從菜單等有直接的聯繫)

$rootScope.$on('$stateChangeStart', function(event, toState, toParams, 
    fromState, fromParams){ 
    //userIsLogged is a flag you should retrieve from your code 
    if(userIsLogged && toState === 'login'){ 
    event.preventDefault(); 
    } 
}) 

看一看的documentation

相關問題