如何在Angular中获取工厂结果的变量?当我试图从我的工厂得到结果时,我一直不明确。
例如在我的工厂我有
angular.module('MyApp.services', [])
.factory('ReportService', ['$http', '$window', '$upload', 'AuthService', function ($http, $window, $upload, AuthService) {
return {
findAll: function (criteria) {
criteria = criteria || [];
return $http.get(BASE_URL + '/ajax.php?action=reports.all&' + criteria.join('&'))
},
getAll: function (criteria){
return $http.get(BASE_URL + '/ajax.php?action=reports.all&' + criteria.join('&'))
.success(function(data, status) {
return data;
});
} }
}])
然后在我的控制器中
controller('MyController', ['$scope', '$compile', 'CartoDBService', 'ReportService', 'toaster', '$modal', '$rootScope', function ($scope, $compile, ReportService, toaster, $modal, $rootScope) {
var reportSearchParams = ['graded=on'];
var cat = ReportService.findAll(reportSearchParams);
cat.then(function(data) {
$scope.students = data.data;//don't forget "this" in the service
});
console.log($scope.students);//returns unidentified
}