Невозможно получить свойство get неопределенной или нулевой ссылки

Я знаю, что это, вероятно, очень просто, но я получаю эту ошибку

Невозможно получить свойство get неопределенной или нулевой ссылки

Когда я звоню в свой API с моего контроллера

 rmdsController.$inject = ['$scope', 'rmds'];
function rmdsController($scope, rmds, $http) {

$scope.Calculate = function () {
        alert('made it');
        $("#spinner").show();


          $http.get('/api/rmd/calcRMDdist/')

          .success(function (data) {
              // Do stuff with data.
          })
          .catch(function (err) {
              // Log error somehow.
          })
          .finally(function () {
              // Hide loading spinner whether our call succeeded or failed.
              $scope.loading = false;
          });
    }

person sleath    schedule 22.05.2016    source источник
comment
вы не ввели $http в контроллер. Он отсутствует в операторе $inect. также не используйте .success, это устарело; вместо этого используйте .then.   -  person Claies    schedule 23.05.2016


Ответы (1)


Внедрение зависимостей — это шаблон, который часто используется в компонентах инфраструктуры и гарантирует, что один конкретный компонент не создает прямых ссылок на другие компоненты. Вместо прямого создания экземпляра каждый компонент будет получать ссылки на необходимые другие компоненты, такие как помощники, службы и т. д., в качестве параметров своего конструктора. В вашем случае так:

rmdsController.$inject = ['$scope', 'rmds', '$http'];

Здесь $scope, rmds, $http вводятся Angular всякий раз, когда создается экземпляр этого контроллера.

Ссылка: http://henriquat.re/basics-of-angular/services-dependency-injection/services-and-dependency-injection-in-angularjs.html

person Avantika Saini    schedule 23.05.2016