更新TodoList Angularfire上的项目

时间:2016-03-27 20:09:01

标签: javascript firebase angularfire firebase-realtime-database

使用Angularfire,我创建了todoList。但我在更新项目时遇到问题。我试试这段代码

 var obj = $firebaseObject(ref);
 obj.name = $scope.todo.title ;
 obj.$save()
  .then(function(ref) {
    ref.key() === obj.$id; // true
  }, function(error) {
    console.log("Error:", error);
  });

如何仅更新所选项目。

2 个答案:

答案 0 :(得分:1)

这个怎么样?

var obj = $firebaseObject(ref);
obj.$loaded().then(function () {
    obj.name = $scope.todo.title;
    obj.$save()
        .then(function (ref) {
            ref.key() === obj.$id; // true
        }, function (error) {
            console.log("Error:", error);
        });
});

您正试图在加载之前保存它。

答案 1 :(得分:1)

请注意,您也可以直接更新TODO项目的标题,而无需通过$firebaseObject()

ref.update({ title: $scope.todo.title });

$firebaseObject()$firebaseArray()服务非常适合将基础数据绑定到Angular视图,但是要对数据执行更新,您可以轻松采用更直接的方法。由于AngularFire构建于Firebase JavaScript SDK之上,因此可以完美地互操作。