2016-11-17 6 views
0

私のコントローラには、このコードがあり、これは単にlogged_statusです。 返された値がfalseの場合、角ページリダイレクション

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'); 
 
    } 
 

 
})

それが正しい値を取得しているが、私は特定の文を、それの価値をテストし、ログインしたときに、イムが予期しない結果を得る

。下の画像では、の代わりに $scope.get_logged_statusの値が falseであるため、逆の結果が得られます。助けてください。私は間違ってそれをコーディングですか?

画像ここ

enter image description here

答えて

0

はこれを試して見てください:

それは常にtrueを返しますので、多分 sessionStorageの項目 logged_statusは、 stringない booleanと考えられている
if($scope.get_logged_status=="false") 

0

私はsessionStorage.getItemと返答しますあなたの文字列falseは実際にはtrueと評価されます。

あなたは、私が$ scope.logged_status = sessionStorage.setItem( 'logged_status'、true)を使用して、それを設定しif($scope.get_logged_status == 'false')

+0

を使用して試すことができます。 – BlondePainter

+0

あなたはそれを確認してください – BlondePainter

+0

ああ、それは文字列console.log(typeof $ scope.get_logged_status)を返しています。 – BlondePainter

関連する問題