Я задал аналогичный вопрос ранее при попытке ввести $scope и $http в контроллер Невозможно вызвать метод jsonp из undefined в Angular.js controller. Теперь я пытаюсь реорганизовать этот код немного, переместив код в функцию внутри контроллера. Я сталкиваюсь с подобными проблемами и, похоже, не понимаю механику инъекции зависимостей в Angular. Ниже мой новый код. И $scope, и $http - undefined. То, что я пытаюсь сделать, это сделать http-запрос, когда didSelectLanguage() запускает и присваивает полученные данные переменной "image" в области $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;
});
}
}])