【问题标题】:Problems saving a firebase database with angularjs使用 angularjs 保存 firebase 数据库的问题
【发布时间】:2017-04-23 18:19:06
【问题描述】:

我已经使用 Firebase 几个月了,它与 angularjs 和 anfularfire 一起使用非常好,在我解释问题之前,让我给你一个快速的背景:我目前正在为一个应用程序使用不同的控制器旨在供用户注册植物物种并将其用作创建交互式花园的项目。为了从任何控制器保存数据库,我将引用存储到 $scope

var rootRef = firebase.database().ref();
$scope.database = $firebaseObject(rootRef)

所以当我想进行更改或添加对象时,我会这样做:

$scope.example_function = function(i){//supposing 'i' is a string
    $scope.element[e] = i //supposing that 'e' contains a string 
    $scope.database.$save()
}

有时这有效,有时它只是不保存 Firebase,特别是在编辑数据库中的现有对象或向特定对象添加元素时。这真的很令人沮丧,因为它不会抛出错误或其他东西,我什至尝试删除我想要更改的路径,然后用新信息再次存储它。我也尝试在每个控制器中对数据库进行本地引用,但不...任何人都知道我还能如何使这项工作?

还有。我很确定数据库和应用程序之间的连接很好,我现在已经存储了很多物种,问题是当我想编辑来自物种的信息或添加一个 url 来获取图像时。

【问题讨论】:

    标签: javascript angularjs firebase firebase-realtime-database angularfire


    【解决方案1】:

    我认为将整个数据库绑定到范围不是一个好主意。规模化将非常困难。

    请记住,当您请求 ref 并将其发送到 $firebaseObject 时,它将注册更改事件,这将开始同步您的整个数据库,这可能是巨大的。

    对于您遇到的问题,您似乎将数据库引用绑定到 $scopedatabase 属性,但在您的 example_function 中,您将值应用于 element 属性。所以也许你正在寻找的修复是这样的:

    function example_function(i) {
      $scope.database.element = i;
      $scope.database.$save();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-02-04
      • 1970-01-01
      • 2015-01-12
      • 1970-01-01
      • 1970-01-01
      • 2021-04-28
      • 2022-11-30
      相关资源
      最近更新 更多