我正在尝试使用AngularJS从Firebase的HTML中获取数据。它工作正常,但是当我到达子节点时,它以意外形式显示数据。
请查找图像以获取详细信息:

我在Firebase上导入的Json文件:



FireBase数据表示形式:



以HTML返回的数据:



预期数据为



在我的 Controller 中,我尝试通过以下方式从FireBase获取数据:

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

$ rootScope值将正确返回,因为它正在返回数据(该格式不是预期的格式,即$ id,$ value,$ priority)。

在我的HTML中:
<div class="content has-header">
      <h2>{{details[0]}}</h2>
</div>

请帮帮我。预先感谢您的建议

最佳答案

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

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

Check out the AngularFire docs on meta fields for more information.

如果您不希望出现这种情况,则需要使用$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);

关于html - Firebase返回带有$ value,$ id和$ priority AngularJs的数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34524472/

10-10 00:27
查看更多