我之前在尝试将 $scope 和 $http 注入控制器时问了一个类似的问题,Cannot call method 'jsonp' of undefined in Angular.js controller。现在我试图通过将代码移动到控制器内的函数中来稍微重构该代码。我遇到了类似的问题,似乎无法掌握 Angular 中依赖注入的机制。下面是我的新代码。$scope 和 $http 都是未定义的。我正在尝试做的是在 didSelectLanguage() 触发时发出一个 http 请求,并将结果数据从父控制器分配给 $scope 中的“图像”变量。有人可以告诉我依赖注入在这个例子中应该如何工作吗?
angular.module('myApp.controllers', []).
controller('ImagesCtrl', ['$scope', '$http', function ($scope, $http) {
$scope.didSelectLanguage=function($scope, $http) {
console.log($scope);
$http.jsonp('http://localhost:3000/image?quantity=1&language='+this.language+'&Flag=&callback=JSON_CALLBACK')
.success(function(data){
$scope.image = data;
});
}
}])