我一直在使用AngularFire .5和Firebase(我从Bower Install
获得了这两个。
我开始筛选Firereader代码库,并一直在努力更新方法。到目前为止一切顺利,我认为一切似乎都正常。
我可以初始化$firebaseAuth
传递我的firebaseio.com
网址。页面加载很好。
我使用requirejs模块化所有东西,并手动引导角度。
我似乎在苦苦挣扎,知道要加载哪些指令,何时基于众多样本和文档都处于不同的完成状态(我完全得到它)。
我对应用的初始化看起来像这样 -
define([
'angular',
'angular-route',
'ui-bootstrap',
'ui-bootstrap-tpls',
'./controllers/index',
'./directives/index',
'./filters/index',
'./services/index',
'Firebase',
'angularFire',
'Firebase-Auth-Client',
'Firebase-Simple-Login',
'underscore'
], function (angular) {
'use strict';
return angular.module('app', [
'app.controllers',
'app.directives',
'app.filters',
'app.services',
'ngRoute',
'ui.bootstrap',
'ui.bootstrap.tpls',
'firebase'
]);
});
不确定我的requirejs deps是否需要调整 - 比如简单登录或auth客户端需要firebase吗?这可能是其中的一部分。
另一个问题是,我还在学习Angularjs,而这可能只是让我努力工作的一个重要举措。
我已经创建了一个服务来处理所有身份验证(基于Firebase示例,但是尝试从无需处理它以获取所有身份验证)。
服务看起来像这样 -
services.factory('authManager', ['$rootScope', 'fbRef', '$firebaseAuth', function($rootScope, fbRef, $firebaseAuth) {
//authScopeUtil($rootScope);
$rootScope.auth = $firebaseAuth(fbRef(),{
'path' : '/'
});
$rootScope.auth = {
authenticated: false,
user: null,
name: null
};
// provide some convenience methods to log in and out
return {
login: function(providerId) {
//$firebaseAuth.login(providerId, {scope: 'email'});
console.log(providerId);
},
logout: function() {
$firebaseAuth.logout();
},
createUser: function(data) {
var email = data.email;
var password = data.password;
$firebaseAuth.createUser(email, password, function(error, user){
if (!error) {
console.log('User Id: ' + user.id + ', Email: ' + user.email);
}
})
}
};
}]);
fbRef看起来像这样 -
services.factory('fbRef', ['fbUrl', 'Firebase', function(fbUrl, Firebase) {
// url can be an array or string
return function(url, limit) {
var ref = new Firebase(fbUrl(url));
if( limit ){
ref = ref.limit(limit);
}
return ref;
}
}]);
也许这需要new FirebaseSimpleLogin
?
当我运行代码时,我收到以下错误 -
TypeError: Object function (ref, options) {
var auth = new AngularFireAuth($q, $t, $i, $rs, $l, ref, options);
return auth.construct();
} has no method 'createUser'
我不知道我是否需要$ createUser,$ firebaseAuth,AngularFireAuth等。到目前为止,似乎没有什么可以解决错误,并允许我调用createUser()
函数大纲here和here。
很抱歉长篇大论(这里可能很天真) - 不知道还有什么地方可以改变。
答案 0 :(得分:2)
$firebaseAuth
的预期用法是创建它的实例,然后然后调用该对象的方法:
var auth = $firebaseAuth(ref);
auth.$createUser(...);