0

我正在處理其他人已經創建的登錄腳本。我的目標實際上是整合使用ng-option而不是input。正如你可以從例子中看到的那樣,這是有效的。但是當我登錄時,我看不到用戶的數據。爲什麼?在角度身份驗證中顯示當前用戶名

全碼:http://plnkr.co/edit/ImsqhVFVanCp5OXNisrA?p=preview

Controllers.js:

angular.module('Authentication') 

.controller('LoginController', 
['$scope', '$rootScope', '$location', 'AuthenticationService', 
function ($scope, $rootScope, $location, AuthenticationService) { 
    // reset login status 
    AuthenticationService.ClearCredentials(); 
     $scope.users = [ 
       {"username": "test", "number": "13242342"}, 
       {"username": "2", "number": "00000000"}, 
       {"username": "3", "number": "0483184"}, 
      ]; 
    $scope.login = function() { 
     $scope.dataLoading = true; 
     AuthenticationService.Login($scope.username, $scope.password,  function(response) { 
      if(response.success) { 
       AuthenticationService.SetCredentials($scope.username,  $scope.password); 
       $location.path('/'); 
      } else { 
       $scope.error = response.message; 
       $scope.dataLoading = false; 
      } 
     }); 
    }; 
}]); 
+0

我確實希望你意識到你不能在瀏覽器中進行授權......所有的登錄憑證都在你的腳本中公開 – charlietfl

+0

當然,我只是做一些測試來學習更好的角度:D – panagulis72

+0

只需檢查......你在這裏看到很多奇怪的錯誤想法 – charlietfl

回答

1

在您的身份驗證服務,你設置用戶的憑據是這樣的:

$rootScope.globals = { 
    currentUser: { 
     username: username, 
     authdata: authdata 
    } 
}; 

那麼在你看來,你需要將{{user.username}}更改爲{{globals.currentUser.username}}