javascript - 无法读取未定义的属性 get Riders

标签 javascript angularjs model-view-controller undefined

我想调用我在 DeliverService 中定义的服务,但是当我从 Controller 调用它时,它给出了 Cannot read property 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;
    }]);

DeliverCtrl.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){ 
  });
}]);

最佳答案

您的依赖项与此处的顺序不匹配。因此,DeliverService 实际上并未注入(inject)。

您的 Controller 代码应如下所示:

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){});
}]);

关于javascript - 无法读取未定义的属性 get Riders,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43518128/

相关文章:

javascript - FB按钮 "like"非常慢

javascript - 使用 Marionette.CompositeView 进行单元测试

javascript - 带 lodash 的嵌套过滤器用于父子关系

html - angularjs ng-repeat中的css反增量

model-view-controller - 多个 ELMAH 过滤条件

基于 HTML 表格的游戏中的 Javascript 函数

javascript - 如何为 Owl Carousel 2 创建进度条?

javascript - 地址更改时如何停止 Angular 重新加载

c++ - MVC : troubles of realization in command line application

java - JTable 在 GUI 中为空,控制台显示已填充的 DefaultTableModel