我有这个工厂,它下载一些 JSON 数据并将其添加到 $scope。
myApp.factory('loadDataService', function ($rootScope, $http) {
var loadDataService = {};
loadDataService.data = {};
loadDataService.getData = function () {
$http.get('/static/data.json')
.success(function (data) {
console.log("download finish");
loadDataService.data = data;
});
return loadDataService.data;
};
return loadDataService;
});
我从我的主控制器调用下载服务,如下所示:
$scope.data = loadDataService.getData();
// if I access the $scope.data here I get and exception because
// the data is not yet downloaded.
下载数据并将其添加到范围后,我需要执行大量操作。下载数据后,在控制器中执行一系列操作的正确方法是什么。