如何从 firebase 获取所有待办事项?
How to get all todos from firebase?
我将待办事项存储在 firebase 数据库中,我怎样才能在 json 数组中一次获取所有待办事项,使用 angularjs。所以我可以写这样的东西。
<p ng-repeat="todo in todos">
{{todo.title}}
</p>
还是存储todos的结构不对?
为此,首先您需要安装 AngularFire 并在您的 index.html
中添加依赖项
然后,您需要在服务中添加对数据库的引用:
factory('ToDosManager', ['$firebase', function ($firebase) {
var ref = new Firebase("https://example123456789.firebaseio.com/");
return {
all: function() {
return $firebase(ref).$asArray();
},
get: function(toDoId) {
return otherTodo[toDoId];
}
}
}])
然后从你的控制器调用你的服务
$scope.getTodos = function(){
$scope.todos = ToDosManager.all();
您的数据结构中不需要额外的 todo
键。试试这样的结构:
{
"todos": {
"larohj5wj4qj_34qk": {
"title": "Do homework",
"checked": true
},
"utpAbn_48q5jrfKFf": {
"title": "Walk dog",
"checked": false
}
}
}
然后使用AngularFire来同步这个集合:code format done with Angular styleguide
angular.module('todoApp', ['firebase'])
.constant('FirebaseUrl', '<my-firebase-app>')
.service('rootRef', ['FirebaseUrl', Firebase])
.controller('TodoCtrl', TodoController);
function TodoController($scope, rootRef, $firebaseArray) {
$scope.todos = $firebaseArray(rootRef.child('todos');
}
我将待办事项存储在 firebase 数据库中,我怎样才能在 json 数组中一次获取所有待办事项,使用 angularjs。所以我可以写这样的东西。
<p ng-repeat="todo in todos">
{{todo.title}}
</p>
还是存储todos的结构不对?
为此,首先您需要安装 AngularFire 并在您的 index.html
然后,您需要在服务中添加对数据库的引用:
factory('ToDosManager', ['$firebase', function ($firebase) {
var ref = new Firebase("https://example123456789.firebaseio.com/");
return {
all: function() {
return $firebase(ref).$asArray();
},
get: function(toDoId) {
return otherTodo[toDoId];
}
}
}])
然后从你的控制器调用你的服务
$scope.getTodos = function(){
$scope.todos = ToDosManager.all();
您的数据结构中不需要额外的 todo
键。试试这样的结构:
{
"todos": {
"larohj5wj4qj_34qk": {
"title": "Do homework",
"checked": true
},
"utpAbn_48q5jrfKFf": {
"title": "Walk dog",
"checked": false
}
}
}
然后使用AngularFire来同步这个集合:code format done with Angular styleguide
angular.module('todoApp', ['firebase'])
.constant('FirebaseUrl', '<my-firebase-app>')
.service('rootRef', ['FirebaseUrl', Firebase])
.controller('TodoCtrl', TodoController);
function TodoController($scope, rootRef, $firebaseArray) {
$scope.todos = $firebaseArray(rootRef.child('todos');
}