我正在尝试使用角度工厂和服务从文件读取JSON数据。但是Angular无法看到我定义的服务。这是我的工厂:

//jsonService.js
angular.module('jsonService', ['ngResource'])
.factory('JsonService', function($resource) {
    alert($resource)
    return $resource('example.json',{}, {
        getData: {method:'GET', isArray: false}
    });
});


而我的控制器:

//app.js
'use strict';

angular.module('myApp', [
'ngRoute',
'myApp.view1',
'myApp.view2',
'myApp.version',
'jsonService'
]).config(['$routeProvider', function($routeProvider) {
   $routeProvider.otherwise({redirectTo: '/view1'});
}]).
controller('mainController', ['JsonService', function($scope, JsonService){
    JsonService.getData(function(data) {
      console.log("Test");
      $scope.length = data.length;
  })}]);


我得到:


  “错误:JsonService未定义”

最佳答案

您正在注入'JsonService'作为函数的第一个参数,但是您正在使用JsonService作为函数的第二个参数。

应该为['JsonService', '$scope', function($scope, JsonService){,或者如果不需要$scope,则为['JsonService', function(JsonService){

10-07 14:52