Angular Js:“$q.defer 不是函数”错误
Angular Js : '$q.defer is not a function' error
参考这个 Link 之后,我试图将 JSON 数据输入到我的 angular 服务中。
服务:
.factory('restservice', ['$rootScope','$http', '$q', '$log',
function($rootScope,$q, $http) {
return {
getData: function() {
var defer = $q.defer();
$http.get('xyz.com/abc.php', { cache: 'true'})
.success(function(data) {
defer.resolve(data);
});
return defer.promise;
}
};
}])
控制器:
.controller('RestaurantsCtrl', function ($scope,$http, restservice,restViewservice){
restservice.getData().then(function(data) {
$scope.Restaurants = data;
});
})
实施此控制台后说 '$q.defer 不是函数'.
这里有什么问题?请帮忙 ...!!我是 Angular Js 的新手,如有不妥请见谅。
您的服务定义有误:
factory('restservice', ['$rootScope','$http', '$q', '$log',
function($rootScope, $q, $http) {
应该是:
factory('restservice', ['$rootScope', '$http', '$q', '$log',
function($rootScope, $http, $q, $log) {
常见错误:)
我们遇到了同样的错误,现在解决了:
请参考angular1.6.1版本文件,因为旧版本angular会出现上述错误。
参考这个 Link 之后,我试图将 JSON 数据输入到我的 angular 服务中。
服务:
.factory('restservice', ['$rootScope','$http', '$q', '$log',
function($rootScope,$q, $http) {
return {
getData: function() {
var defer = $q.defer();
$http.get('xyz.com/abc.php', { cache: 'true'})
.success(function(data) {
defer.resolve(data);
});
return defer.promise;
}
};
}])
控制器:
.controller('RestaurantsCtrl', function ($scope,$http, restservice,restViewservice){
restservice.getData().then(function(data) {
$scope.Restaurants = data;
});
})
实施此控制台后说 '$q.defer 不是函数'.
这里有什么问题?请帮忙 ...!!我是 Angular Js 的新手,如有不妥请见谅。
您的服务定义有误:
factory('restservice', ['$rootScope','$http', '$q', '$log',
function($rootScope, $q, $http) {
应该是:
factory('restservice', ['$rootScope', '$http', '$q', '$log',
function($rootScope, $http, $q, $log) {
常见错误:)
我们遇到了同样的错误,现在解决了:
请参考angular1.6.1版本文件,因为旧版本angular会出现上述错误。