【发布时间】:2015-06-20 20:04:04
【问题描述】:
例如,我想制作一个如下所示的列表:
Apple - Steve Jobs
Microsoft - Bill Gates
Tesla - Elon Musk
我将使用两个 Firebase 应用程序和 AngularJS 来执行此操作。
第一个 FB 应用如下所示:
companies
|_Apple: 0
|_Microsoft: 0
|_Tesla: 0
第二个 FB 应用:
companies-ceo
|_Apple: "Steve Jobs"
|_Microsoft: "Bill Gates"
|_Tesla: "Elon Musk"
所以我有一个 AngularJs 应用程序:
angular.module('App', ["firebase"])
.controller('AppCtrl', ['$scope', '$firebaseObject',
function($scope,$firebaseObject){
var userRef = new Firebase('https://companies.firebaseio.com/');
var userObj = $firebaseObject(userRef);
userObj.$bindTo($scope, "userData");
$scope.getCEO = function(companyName){
var indexRef = new Firebase('https://companies-ceo.firebaseio.com/'+companyName);
var indexObj = $firebaseObject(indexRef);
indexObj.$loaded(function(){
return indexObj.$value;
})
};
}])
还有一个 HTML 代码:
<div ng-controller="AppCtrl">
<div ng-repeat="(companyName,tmp) in userData">
<p>{{companyName}} - {{getCEO(companyName)}}</p>
</div>
</div>
当我不使用 getCEO() 函数时,例如:
<div ng-controller="AppCtrl">
<div ng-repeat="(companyName,tmp) in userData">
<p>{{companyName}}</p>
</div>
</div>
一切正常,但使用 getCEO() 函数会导致错误:
Error: 10 $digest() iterations reached. Aborting!
我该如何解决?
【问题讨论】:
标签: angularjs firebase angularfire