저는 학교 프로젝트로 웹 사이트를 구축 중이며 Firebase와 함께 Angularjs를 사용하고 있습니다.firebase login google email
사용자 ID가 배열에 있는지 확인하려고하지만 문자열을 제대로 비교할 수없는 것 같습니다.
컨트롤러 :
'use strict';
var AboutController = angular.module('AboutController', []);
AboutController.factory('Auth', ['$firebaseAuth', function($firebaseAuth) {
var ref = new Firebase('https://MYURL.firebaseio.com/');
return $firebaseAuth(ref);
}]);
AboutController.controller('AboutCtrl', function ($scope, $firebase, Auth) {
var usrRef = new Firebase('https://MYURL.firebaseio.com/Users');
$scope.users = $firebase(usrRef).$asArray();
$scope.auth = Auth;
$scope.account = $scope.auth.$getAuth();
var id = $scope.account.google.id;
var check = false;
for(var user in $scope.users){
if(user.UID === id){
check = true;
break;
}
}
$scope.isUser = check;
if($scope.isUser !== true){
$scope.users.$add({
UID: $scope.account.google.id,
});
}
});
HTML 페이지 : 당신이 HTML 페이지를 볼 수있는
<div ng-controller="AboutCtrl">
<div>
<h3>User Data</h3>
<p>{{account.google.id}}</p>
<pre>{{account|json}}</pre>
<p>User has logged in before:{{isUser}}</p>
<pre>{{users|json}}</pre>
<div>
<p>This compares the current UID's in the db to the current user's uid</p>
<div ng-repeat='usr in users'>
<p>{{usr.UID}} {{usr.UID == account.google.id}}</p>
</div>
</div>
</div>
</div>
가하는 컨트롤러하지만 HTML 페이지와 같은 비교가 컨트롤러 반면 정답을 반환 하지 않습니다.
감사합니다. 그것은 그 문제의 일부였습니다. 다른 문제는 'user.UID'가 정의되지 않은 상태로 반환된다는 것입니다. –