Firebase使用$ value,$ id和$ priority AngularJs返回数据

SSS*_*SSS 5 html json angularjs firebase

我正在尝试使用AngularJS从我的HTML中获取Firebase中的数据.它工作正常,但当我到达子节点时,它以意想不到的形式显示数据.请查看图片了解详情:

我在Firebase上导入的Json文件:

我的Json文件

FireBase数据表示:

FireBase数据

以HTML格式返回的数据:

在此输入图像描述

预期数据为

在此输入图像描述

在我的控制器中,我试图从FireBase获取数据:

$scope.locService = $rootScope.service;
  var serviceRef = new Firebase(FIREBASE_URL+"ABC/location/"+$rootScope.location+"/services/"+$rootScope.service+"/"+$rootScope.serviceDetail+"");
  $scope.details = $firebaseArray(serviceRef);
Run Code Online (Sandbox Code Playgroud)

$ rootScope值正在返回数据(它不是预期的格式,即$ id,$ value,$ priority).

在我的HTML中:

<div class="content has-header">
      <h2>{{details[0]}}</h2>
</div>
Run Code Online (Sandbox Code Playgroud)

请帮帮我.提前感谢您的建议

Dav*_*ast 0

AngularFire 从一系列 Firebase DataSnapshots 创建一个同步数组。快照包含数据以及其他有用数据,例如keypriority。AngularFire 使用$前缀来包含数组中每个项目的数据。

在您的情况下,您正在尝试同步一系列基元,以便 AngularFire 为您提供重要信息,例如key,它在对象中包含基元,并让您可以通过属性访问基元值$value

查看有关元字段的 AngularFire 文档以获取更多信息。

如果您不希望出现此行为,则需要使用 JSON 树$firebaseObject()或在 JSON 树中向上一级。

在您的情况下,您可能想使用$firebaseObject().

$scope.locService = $rootScope.service;
var serviceRef = new Firebase(FIREBASE_URL+"ABC/location/"+$rootScope.location+"/services/"+$rootScope.service+"/"+$rootScope.serviceDetail+"");
$scope.details = $firebaseObject(serviceRef);
Run Code Online (Sandbox Code Playgroud)