【问题标题】:Update item on TodoList Angularfire更新 TodoList Angularfire 上的项目
【发布时间】:2016-03-27 20:09:00
【问题描述】:

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

如何仅更新所选项目。

【问题讨论】:

    标签: javascript firebase angularfire firebase-realtime-database


    【解决方案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);
            });
    });
    

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      • 谢谢你,先生,但我必须使用 angularfire,因为它是我必须只使用 angularfire 的迷你项目的一部分。我的问题是我找不到仅更新所选项目的最佳方法。
      • 由于 AngularFire 构建在 Firebase JavaScript SDK 之上,如果不使用 Firebase JavaScript SDK,您将无法使用 AngularFire。
      猜你喜欢
      • 2014-12-24
      • 1970-01-01
      • 2021-01-21
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      相关资源
      最近更新 更多