无法读取未定义的属性 getRiders

问题描述 投票:0回答:2

我想调用我在

DeliverService
中定义的服务,但是当我从控制器调用它时,它给出了
Cannot read propery getRiders of undefined
错误,不知道为什么会发生这种情况:|

DeliverService.js

angular.module('Deliver')
    .service('DeliverService', ['$http', '$state', '$resource', '$q', 'SettingService', '$localStorage', "MessageService", function($http, $state, $resource, $q, SettingService, $localStorage, MessageService) {
        var service = { 
            getRiders : function(){
                return $http.get("Hero.json");
                //return $http.get(SettingService.baseUrl + "api/orders");
            } }
        return service;
    }]);

交付Ctrl.js

use strict';
angular.module('Deliver').controller('DeliverCtrl',['$scope','$state', "SettingService","DeliverService", function($scope, $state, $ionicModal, MessageService, SettingService,DeliverService) {
  $scope.riders = [];
  DeliverService.getRiders().then(function(response){
    $scope.riders = response.data.data;
  }, function(error){ 
  });
}]);
javascript angularjs model-view-controller undefined
2个回答
2
投票

您的依赖项与此处的顺序不匹配。因此,

DeliverService
实际上并未被注入。

您的控制器代码应如下所示:

angular.module('Deliver').controller('DeliverCtrl', 
  ['$scope','$state', '$ionicModal', 'MessageService', 'SettingService','DeliverService', 
  function($scope, $state, $ionicModal, MessageService, SettingService, DeliverService) {
    $scope.riders = [];
    DeliverService.getRiders().then(function(response){
      $scope.riders = response.data.data;
    }, function(error){});
}]);

1
投票

在 DeliverCtrl.js 中

注入参数与函数参数不匹配

应该是这样的

['$scope','$state','$ionicModal','MessageService','SettingService','DeliverService', function($scope, $state, $ionicModal, MessageService, SettingService,DeliverService)
© www.soinside.com 2019 - 2024. All rights reserved.