2015-12-17 6 views
1

Firebase structureКак получить все todos от firebase?

У меня есть ToDos, хранящиеся в firebase дб, как я могу получить все ToDos сразу в массиве JSon с angularjs. поэтому я могу написать что-то вроде этого.

<p ng-repeat="todo in todos"> 
 
    {{todo.title}} 
 
</p>

Или это неправильная структура для хранения Todos?

ответ

1

Вам не нужны дополнительные todo ключ в вашей структуре данных. Попробуйте структуру, как это:

{ 
    "todos": { 
    "larohj5wj4qj_34qk": { 
     "title": "Do homework", 
     "checked": true 
    }, 
    "utpAbn_48q5jrfKFf": { 
     "title": "Walk dog", 
     "checked": false 
    } 
    } 
} 

Затем используйте AngularFire синхронизировать эту коллекцию: code format done with Angular styleguide

Plnkr Demo

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'); 
} 
+0

Спасибо за быстрый ответ, но я попробовал в plunkr получать заявку уже в процессе ошибки. plunkr: http://plnkr.co/edit/7MDk3ZRhJ7e1TnvvYibu?p=preview – amrutdeshpande

+0

В вашем реестре plnkr было несколько недостающих частей, посмотрите мою обновленную версию: http://plnkr.co/edit/yraUR2Divshx6ZrhXvC6?p= предварительный просмотр –

0

Для того, чтобы сделать это, сначала вам нужно установить 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(); 
+0

Это до 1,0 версии AngularFire. Firebase официально поддерживается только 1.0 и выше. –

Смежные вопросы