Javascript auth问题与angular和firebase有关,未定义不是函数,如何解决?
我正在尝试使用来注册、登录用户等 但是我在获取Javascript auth问题与angular和firebase有关,未定义不是函数,如何解决?,javascript,angularjs,firebase,firebasesimplelogin,Javascript,Angularjs,Firebase,Firebasesimplelogin,我正在尝试使用来注册、登录用户等 但是我在获取$getAuth()或$createUser()时遇到了问题,因为未定义不是函数,而且$getCurrentUser()似乎缺失 例如: angular.module('starter.services', []) .factory('Auth', function ($q, $firebase, FBURL, $location, $rootScope, localStorageService) { var ref =
$getAuth()
或$createUser()
时遇到了问题,因为未定义不是函数,而且$getCurrentUser()
似乎缺失
例如:
angular.module('starter.services', [])
.factory('Auth', function ($q, $firebase, FBURL, $location, $rootScope, localStorageService) {
var ref = new Firebase(FBURL);
var auth = $firebase(ref);
console.log(auth.$getAuth()); //undefined is not a function
有什么想法吗
我使用的是AngularFire 0.9.0
,Firebase v2.0.4
,AngularJS v1.3.3
,示例中似乎有一些复制/粘贴/修改错误$getAuth
是AngularFire方法,因此它没有在regulare Firebase JavaScript引用上定义
我可以快速编写的最简单示例如下:
angular.module('app', ['firebase'])
.constant('FBURL', "https://your.firebaseio.com")
.factory("Auth", function($firebaseAuth, FBURL) {
var ref = new Firebase(FBURL);
return $firebaseAuth(ref);
})
.controller('MainCtrl', function ($scope, Auth) {
$scope.auth = Auth;
console.log(Auth.$getAuth());
})
;
请注意,如果用户登录,这将只记录有意义的内容,否则它将记录null
您确定window.Firebase
存在吗?FBURL
的值是多少?它是一根绳子吗?您将其作为角度服务注入…@AlienWebguyFBURL=.constant('FBURL','https://xxxxxx.firebaseio.com/“)
$getAuth
应仅在用户登录时返回authData。您的用户是否已登录?还请注意,示例通过以下方式进入getAuth
:$scope.authObj=$firebaseAuth(ref);var authData=$scope.authObj.$getAuth()代码>,而上面的代码片段似乎试图直接从ref
获取它。这肯定行不通,因为ref
是一个常规的Firebase API,没有任何AngularFire$
方法。谢谢,我似乎不得不重构我的工厂
,以利用AngularFire和Firebase的新变化