Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TodoList Angularfire更新项目_Javascript_Firebase_Angularfire_Firebase Realtime Database - Fatal编程技术网

Javascript TodoList Angularfire更新项目

Javascript TodoList Angularfire更新项目,javascript,firebase,angularfire,firebase-realtime-database,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); }); 如何仅

我使用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);
  });
如何仅更新所选项目

这个怎么样

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);
        });
});

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

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


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

谢谢你,先生,但我必须使用angularfire,因为它是迷你projet的一部分,我只能使用angularfire。我的问题是,我没有找到只更新所选项目的最佳方法。由于AngularFire构建在Firebase JavaScript SDK之上,因此如果不同时使用Firebase JavaScript SDK,则无法使用AngularFire。
ref.update({ title: $scope.todo.title });