2016-11-17 40 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