我正在尝试使用AngularJS从我的HTML中获取Firebase中的数据。它工作正常,但当我到达子节点时,它以意想不到的形式显示数据。 请查看图片了解详情:
我在Firebase上导入的Json文件:
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);
$ rootScope值正在返回数据(它不是预期的格式,即$ id,$ value,$ priority)。
在我的HTML中:
<div class="content has-header">
<h2>{{details[0]}}</h2>
</div>
请帮帮我。提前感谢您的建议
答案 0 :(得分:0)
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);