- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在按照 Thinkster Ang-News 教程安装最新版本的 AngularFire (0.8.0)。我设法到达了 part 7教程成功,但我卡在需要将用户对象插入 Firebase Forge 的部分。代码工作如下:
当新用户通过我的 HTML 表单注册时,“注册”函数被调用,“User.create(authUser, $scope.user.username);”在“register”函数中执行。
// login and registration page
app.controller('AuthCtrl',
function ($scope, $location, Auth, User) {
if (Auth.signedIn()) {
$location.path('/');
}
$scope.$on('firebaseSimpleLogin:login', function(){
$location.path('/');
});
$scope.login = function(){
Auth.login($scope.user).then(function(){
$location.path('/');
}, function (error){
$scope.error = error.toString();
});
};
$scope.register = function () {
Auth.register($scope.user).then(function (authUser) {
Auth.login($scope.user);//cause creating user auto login
User.create(authUser, $scope.user.username);
console.log(authUser);
$location.path('/');
}, function (error){
$scope.error = error.toString();
});
};
});
“用户”服务有一个“创建”功能,它创建用户对象并将对象信息存储在 Firebase Forge 中。如下所示,调用“users.$save(username)”将用户“$save”到 Firebase Forge 中。但是,当调用 $save 方法时,我的 Firebase Forge 中没有任何反应。我查看了最新的 AngularFire 规范,正如您在我的代码注释 (//) 中看到的那样,我尝试将 $asArray()、$asObject() 与我的“users”变量结合使用,但这没有用。当我使用“users.$add(username);”时我的 Firebase Forge 没有调用 $save 方法,而是添加了没有对象属性的用户名。
app.factory('User', function ($firebase, FIREBASE_URL, Auth, $rootScope) {
var ref = new Firebase(FIREBASE_URL + 'users');
var users = $firebase(ref);
//var users = $firebase(ref).$asObject();
//var users = $firebase(ref).$asArray();
var User = {
create: function (authUser, username) {
users[username] = {
md5_hash: authUser.md5_hash,
username: username,
$priority: authUser.uid
};
//users.$add(username);
users.$save(username).then(function () {
setCurrentUser(username);
});
}, // end of create fxn
同样,我无法使用 $save 或 $add AngularFire 方法将“users[username]”对象插入到我的 Firebase Forge 中。如果有任何帮助,我将不胜感激。
乔恩
最佳答案
现在您正在修改绑定(bind),然后调用 $save
。您必须使用 $asObject
或 $asArray
才能进入 $save
方法。
但在您的情况下,您不需要同步任何对象——只需保存一个。您可以为用户创建一个新对象并在绑定(bind)上使用 $update
。
app.factory('User', function ($firebase, FIREBASE_URL, Auth, $rootScope) {
var ref = new Firebase(FIREBASE_URL + 'users');
var users = $firebase(ref);
var User = {
create: function (authUser, username) {
users.$update(username, {
md5_hash: authUser.md5_hash,
username: username,
priority: authUser.uid
});
}, // end of create fxn
关于javascript - 如何将对象插入 Firebase Forge? - AngularFire 0.8.0 - Thinkster - 第 7 章,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25319523/
$destroy() 存在于 Angularfire 中的原因是什么? angularfire 的文档说: https://www.firebase.com/docs/web/libraries/an
我收到“错误:permission_denied:客户端无权访问所需数据。”我比较确定我有规则问题。有没有办法跟踪 angularfire 中哪些客户端调用失败?该库中的抽象级别和异步性使得甚至很难找
我看过有关如何检查特定文档是否存在的示例。但是,是否可以在执行如下查询时检查文档是否存在? private albumsCollection: AngularFirestoreCollection;
我正在寻找一种方法来获取子元素的方法,而不是单独加载该元素。 假设我有一个 Post 模型,每个帖子都有评论。这就是我获得帖子模型的方式: var post = $firebase(new Fireb
这是我认为的相关代码: p(ng-repeat="t in todos") input( type="checkbox", ng-model="t.done", ng-clic
好的,我刚开始使用 Firebase。我读过这个:https://www.firebase.com/docs/data-structure.html我读过这个:https://www.firebase
如何更新节点内的单个对象。 { foo: { title: 'hello world', time: '1000' } } 如上所述,我只想更新标题。$firebase(new
我正在使用 AngularFire并在我的 app.module.ts 中启用离线支持的持久性: imports: [ AngularFireModule.initializeApp(envir
我无法增加帖子“点赞”的数量。以下是我现在拥有的: addLike(pid, uid) { const data = { uid: uid, }; this.afs
我正在使用 AngularFire 创建一个新用户。但是,当我注册用户时,我还会询问名字和姓氏,并在注册后添加该信息。 $firebaseSimpleLogin(fbRef).$createUser(
我已经在 DIV 中发布了有关我的背景图像的先例问题。它在当前日期成功运行。但是,当我想使用用户在数据库中输入的时间和模型“starthourid”来调整背景图像时,它不起作用(它显示“夜晚”)!但数
在努力完成Angular tutorials on their website时当我尝试创建一个使用 Firebase 的列表时,我陷入了困境。来存储数据。奇怪的是,Angular 网站上一切正常,但
我正在努力使用 AngularFire 进行用户身份验证和授权。 问题是,一旦授权用户登录并显示来自 Firebase 的数据,如果我注销,则数据仍然会显示。我可以将数据从范围中分离出来(delete
我正在使用 AngularFire 和 Angular 8 来构建一个应用程序,但我有一个愚蠢的问题(我相信它实际上很愚蠢)。 我构建了一个简单的服务来包装 AngularFireAuth : imp
我正在使用 Angularfire 制作网站。我正在尝试将基于 oauth 的登录与 google 集成以进行用户身份验证,但是当我尝试运行 index.html 文件并尝试登录时显示错误 11:59
我想让我的 angularFire 集合在路由加载时解析。像这样的东西: App.config ($routeProvider, angularFireProvider) -> $routePro
我正在尝试获取简单 angularFireCollection 数组的长度,但似乎无法: var stf = new FireBase("http://myfirebase-app.firebasei
我有一个带有用户存储的 FireBase 数据库。我也使用简单的登录电子邮件/密码。在用户存储中,我保存了一些用户的额外信息——例如最后登录日期。这是我的工作流程 - 从注册到登录: 我注册了一个用户
我在 /items 中有 Firebase 条目,其属性为 title 和 points。在输入新项目之前,我试图检查是否存在具有相同 title 的项目。 这是我所拥有的,但它并没有发生: app.
我将数据按以下结构存储在 firebase 中(图 1)。我遵循了结构化数据的指南,并将其保存在一个平面结构中,其中包含事件和用户的键值对,以允许多对多关系引用。我想使用 userid 来查找用户有权
我是一名优秀的程序员,十分优秀!