Angularjs 如何在firebase中将字符串添加到用户的主干?
我希望用户能够将字符串发布到自己的节点 例如,假设下面的结构中有一个包含用户列表的Users节点,我希望他们提交的字符串能够发布到用户列表中的节点Angularjs 如何在firebase中将字符串添加到用户的主干?,angularjs,firebase,angularfire,firebasesimplelogin,Angularjs,Firebase,Angularfire,Firebasesimplelogin,我希望用户能够将字符串发布到自己的节点 例如,假设下面的结构中有一个包含用户列表的Users节点,我希望他们提交的字符串能够发布到用户列表中的节点 {parentNode: {Users: {User: -32jfkjak: {string:'this is my string'} -32jfkjak: {string:'this is my other string string'} }
{parentNode:
{Users:
{User:
-32jfkjak:
{string:'this is my string'}
-32jfkjak:
{string:'this is my other string string'}
}
{User2:
-32jfkjak:
{string:'this is my string'}
-32jfkjak:
{string:'this is my other string string'}
}
}
}
下面我使用$firebaseAuth获取用户ID,使用$firebase绑定获取用户列表。我正在尝试创建一个控制器,该控制器具有一个函数,可以通过使用child访问节点来将字符串添加到自己的节点
var app = angular.module("app", ["firebase"]);
app.constant("FBURL", "https://crowdfluttr.firebaseio.com/");
app.factory("Auth", ["$firebaseAuth", "Ref", function($firebaseAuth, Ref) {
return $firebaseAuth(Ref);
}]);
app.factory("Ideas", ["$firebase", "Ref", function($firebase, Ref) {
var childRef = Ref.child('ideas');
return $firebase(childRef).$asArray();
}]);
app.factory("Users", ["$firebase", "Ref", function($firebase, Ref) {
var childRef = Ref.child('users');
return $firebase(childRef).$asArray();
}]);
app.controller("ctrl", ["$scope","Users", function($scope,Users) {
$scope.users = Users;
$scope.idea = "";
$scope.UpdateFirebaseWithString = function () {
$scope.users.child($scope.user.google.id).$add({
idea: $scope.idea,
}).then(function(ref) {
clearIdea();
});
};
function clearIdea() {
$scope.idea = "";
}
}]);
app.run(["$rootScope", "Auth", function($rootScope, Auth) {
$rootScope.user = Auth.$getAuth();
}]);
请参见此处的codepen:节点名称在给定父节点下是唯一的,因此在User和User2下不能有两个-32jfkjak。Ref在哪里定义?代码笔是空的,所以这没有帮助。同步数组上没有.child方法。另外,不要因为可以嵌套数据就嵌套数据。保持邮件和用户配置文件分开。