6

Tôi đã đọc qua tất cả các bài đăng mà mọi người gặp vấn đề này khi $ http không phải là chức năng, và có vẻ như phần lớn là do tiêm được thực hiện trong sắp xếp sai.

định nghĩa mô-đun của tôi trông như thế này:

angular.module("app", []).controller("appCtrl", ['$scope','$http', 
    function ($scope, $http) { 

... 

    $scope.makeCall= function ($http) { 
     console.log("HERE"); 
     $http({ method: 'GET', url: <url }). 
      then(function (response) { 

       console.log(response.data); 
       return response.data; 
      }, function (response) { 

     }); 
    }; 
} 
]) 

Bất kỳ lời đề nghị sẽ được đánh giá rất nhiều.

+2

thử $ scope.makeCall = function() {... –

Trả lời

15

Xóa tham số $http khỏi chức năng makeCall, điều này đang giết chết sự tồn tại của $http sự phụ thuộc được tiêm trên bộ điều khiển. Về cơ bản khi bạn thêm nó vào chức năng, nó được giải quyết như undefined

$scope.makeCall= function() { //<-- removed $http dependency from here 
    console.log("HERE"); 
    $http({ method: 'GET', url: 'url' }) 
     .then(function (response) { 
      console.log(response.data); 
      return response.data; 
     }, function (response) { 

     } 
    ); 
}; 
Các vấn đề liên quan