2014-04-10 2 views
0

AngularFire에 익숙해지면서 지난 며칠간, angularFire() 생성자를 발견했습니다.AngularFire() 컨트롤러에 대한 혼란

나는 순간이로 호출 오전 : 내가 제대로 이해한다면

angularFire(new Firebase(FBURL + '/users' + $scope.auth.id), $scope, 'user'); 

는 첫 번째 인수는 현재 로그인 한 사용자를 가리키는 URL입니다 (내 로그인을 가정 물론 제대로 오프 작동,).

두 번째 인수는 범위에 바인딩하려는 사실입니다.

세 번째 인수는이 범위의 문자열 이름입니다. 맞습니까? 때문에, 나는 그 $의 scope.user을

console.log($scope.auth.id); 
//prints 16, at this location there is a user 
console.log($scope.user) 
//prints undefined 

기대하고 내 사용자 개체를 보유 :이 않았다 http://www.thinkster.io/angularjs/eHPCs7s87O/angularjs-tutorial-learn-to-rapidly-build-real-time-web-apps-with-firebase#item-526c8aae0717fcb66f00020f 이제

$scope.$on('angularFireAuth:login', function() { 
     angularFire(new Firebase(FBURL+'/users/'+$scope.auth.id), $scope, 'user'); 
     }); 

하기 :

나는이 자습서 다음에서 angularFire 생성자를 가지고 링크는 실제로 내 사용자 개체입니다. 명시 적으로 오브젝트를 요구하기 위해 '{}'을 네 번째 인수로 전달한 후에도 여전히 실패합니다.

답변

1

사용중인 생성자에 익숙하지 않습니다. $ firebase 함수를 사용하여 바인딩을 설정해야합니다.

$scope.user = $firebase(new Firebase(FBURL + '/users/' + $scope.auth.id)) 

빠른 산책을 위해 @https://www.firebase.com/quickstart/angularjs.html보세요.

+0

은 angularFire가 아니며 $ firebase와 동일합니까? –

+0

AngularFire는 라이브러리의 이름이지만 'AngularFire'개체를 직접 노출하지 않습니다. 그것은 Angular 모듈 안에 그것을 감싸고 그것을 $ firebase로 드러냅니다. 그래서 여러분이 생성했거나 다른 곳에서 발견 한 것이 아닌 한, 여러분이 angularFire 생성자를 어디에서 가져 왔는지 모르겠습니다. –

+0

내가 찾은 곳에서 내 게시물을 편집했습니다. –