遵循Lynda.com构建一个数据驱动的应用程序,具有角度和火基。当我尝试在set()中使用寄存器函数时,我会收到上面的消息。set()仍然在angularfire API中。我已经试过搜索所以和文档,但找不到答案。
authentication.js
myApp.factory('Authentication', function($firebase,
$firebaseAuth, $routeParams, $location, FIREBASE_URL) {
var ref = new Firebase(FIREBASE_URL);
var auth = $firebaseAuth(ref);
//Temporary object
var myObject = {
login: function(user) {
return auth.$authWithPassword({
email: user.email,
password: user.password
}); //authWithPassword
}, //login
register: function(user) {
return auth.$createUser({
email: user.email,
password: user.password
}).then(function(regUser) {
var firebaseUsers = new Firebase(FIREBASE_URL+'users');
var userInfo = {
date : Firebase.ServerValue.TIMESTAMP,
regUser : regUser.uid,
firstname: user.firstname,
lastname : user.lastname,
email: user.email
}; //user info
firebaseUsers.set(regUser.uid, userInfo); //**ERRORS HERE**
}); //promise
} //register
}; //myObject
return myObject;
}); //myApp Factory
发布于 2015-04-10 06:36:05
Firebase的set方法记录在这里:https://www.firebase.com/docs/web/api/firebase/set.html。它非常明确:
onComplete函数*可选 在Firebase服务器同步完成后将调用的回调函数。如果失败,回调将传递一个错误对象;否则为空。
因此,第二个(可选)参数是在服务器上设置值时调用的函数。如果您从教程中复制了准确的代码,您可能应该联系作者,并询问他们的意思是什么。
他们更可能要做的是在子节点中设置用户数据。要做到这一点,请将有问题的行替换为:
firebaseUsers.child(regUser.uid).set(userInfo);
https://stackoverflow.com/questions/29560619
复制相似问题