使用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);
});
如何仅更新所选项目。
答案 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之上,因此可以完美地互操作。