我无法弄清楚如何使用基于id的Firebase进行阅读和更新。在这种情况下,我有一个待办事项列表,我想根据其$ id找到第一个项目,然后将comple
更改为true。
todos
-Ke0JWl9xy5sZvT55hfE
Complete: false
Created_at: 1488228401479
Description: "123"
Priority: "high"
-Ke0Ms_LnsO-TSwQZLcZaddclose
-Ke0MuWCLkX29XWYyPBM
-Ke0MwKOrjpDm9rj6L28
-Ke0NCmpM3_dTPtY9jVb
JS
(function() {
function Todo($firebaseArray) {
var ref = firebase.database().ref().child("todos");
var todos = $firebaseArray(ref);
Todo.todos = todos;
Todo.updateToDo = function(todo){
console.log(todos)
console.log(todos[todo['$id']])
};
return Todo;
}
angular
.module('blocitoff')
.factory('Todo', ['$firebaseArray', Todo]);
})();
答案 0 :(得分:0)
我采取了一种更简单的方法:
(function() {
function Todo($firebaseArray) {
var ref = firebase.database().ref().child("todos");
var todos = $firebaseArray(ref);
Todo.todos = todos;
Todo.updateToDo = function(todo){
ref.child(todo['$id']).update({ completed: true });
};
return Todo;
}
angular
.module('blocitoff')
.factory('Todo', ['$firebaseArray', Todo]);
})();
此处update()
调用使用Firebase JavaScript SDK。但是,由于AngularFire是建立在它之上的,因此无论如何它们都能完美地互操作。