我正在尝试使用 AngularJS 在我的 HTML 中从 Firebase 获取数据。它工作正常,但当我到达子节点时,它以意外的形式显示数据。 详情请查看图片:
我在 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 创建一个同步数组。快照包含数据以及其他有用的数据,例如 key
和 priority
。 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/