在我的控制器中我有这个代码,只需获取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
。请帮忙。我编码错了吗?
请在此处查看图片
答案 0 :(得分:0)
试试这个:
if($scope.get_logged_status=="false")
logged_status
中的sessionStorage
项可能被视为string
而不是boolean
,因此它始终返回true
答案 1 :(得分:0)
我认为sessionStorage.getItem
会返回一个字符串,因此您的字符串false
实际上会计算为true
。
您可以尝试使用if($scope.get_logged_status == 'false')