我希望用户能够将字符串发布到他们自己的节点。
例如,假设下面的结构中存在包含用户列表的用户节点,我希望他们提交的字符串发布到用户列表中的节点。
{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:http ://codepen.io/pen/?editors=101