我目前正在学习AngularJS和类似的东西,今天我遇到了一个问题(可能是异步)。 我正在尝试做的是使用Angular工厂从Firebase获取一些数据,然后在控制器中使用这些数据。
App.factory('Jobs', ['$firebaseObject', function($firebaseObject) {
var ref = new Firebase('https://myapp.firebaseio.com/Jobs');
return $firebaseObject(ref);
}]);
App.controller('JobsController', ['$scope', 'Jobs', function($scope, Jobs) {
Jobs.$bindTo($scope, 'allJobs');
console.log($scope.allJobs);
}]);
这工作得很好。当我将{{ allJobs | json }}
放入模板中时,它会在几秒钟后更新。问题是控制器$scope.allJobs
返回未定义(可能是因为Firebase的响应迟到了代码执行的时间。
我的问题是,如何编写它,所以我可以直接在控制器中访问$ scope.allJobs?