2016-11-17 37 views
0

在我的控制器我有這個代碼,只是得到logged_status角度頁面重定向如果返回值爲假

app.controller('dashboardCtrl', function($scope, $stateParams, $http) { 
 
    $scope.displaySN = ''; 
 
    $scope.studentNumber = sessionStorage.getItem('student_number'); 
 
    $scope.get_logged_status = sessionStorage.getItem('logged_status'); 
 
    console.log("Dashboard Page Logged Status: " + $scope.get_logged_status); 
 

 
    if(!$scope.get_logged_status) 
 
    { 
 
    console.log('should redirect because false'); 
 
    }else{ 
 
    console.log('should stay because true'); 
 
    } 
 

 
})

它得到正確的值,但是當我測試了它的價值和日誌某種陳述,即時得到了意想不到的結果。在下面的圖片,而不是得到should redirect because false,因爲$scope.get_logged_status值得false,即時獲得相反的結果。請幫助。我編碼錯了嗎?

請參閱的形象在這裏

enter image description here

回答

0

試試這個:

if($scope.get_logged_status=="false") 

也許在sessionStorage項目logged_status被視爲string不是boolean,所以它總是返回真

0

我認爲sessionStorage.getItem返回爲特林,所以你的字符串false實際上評估爲true

我用它設置您可以嘗試使用if($scope.get_logged_status == 'false')

+0

$ scope.logged_status = sessionStorage.setItem( 'logged_status',真); – BlondePainter

+0

可以請你確認一下 – BlondePainter

+0

啊是的,它返回字符串console.log(typeof $ scope.get_logged_status); – BlondePainter