如果返回值为false,则为Angular页面重定向

时间:2016-11-17 16:33:40

标签: javascript angularjs

在我的控制器中我有这个代码,只需获取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

2 个答案:

答案 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')