我正在尝试使用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创建一个同步数组。快照包含数据以及其他有用的数据,例如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/