Angularjs $stateProvider加载服务对象未定义

Angularjs $stateProvider加载服务对象未定义,angularjs,Angularjs,我有一项服务: angular.module('TestApp') .service('Test', ['$http', '$localStorage', function($http, $localStorage) { var baseUrl = "http://test.com"; return { tests: function(success, error) { $http.

我有一项服务:

      angular.module('TestApp')
      .service('Test', ['$http', '$localStorage', function($http, $localStorage) {
        var baseUrl = "http://test.com";

        return {
            tests: function(success, error) {
                $http.get(baseUrl + '/tests').success(success).error(error)
            }
        } 
      }]);
我有一个控制器:

angular.module('TestApp')
  .controller('TestController',  ['$rootScope', '$scope', Test, function($rootScope, $scope, Test) {

    Merchant.terminal(function(res) {
        $scope.tests= res;
    }, function() {
        $rootScope.error = 'Failed to fetch details';
    }); 
 }]);
然后在app.js中,我使用resolve获取文件:

$stateProvider.state('test', {
           url: "/test", 
           templateUrl: "views/test.html",
           data: {pageTitle: 'Test Search'},
           controller: "TestController",
           resolve: {
                deps: ['$ocLazyLoad', function($ocLazyLoad) {
                    return $ocLazyLoad.load({
                        name: 'TestApp',
                        insertBefore: '#ng_load_plugins_before', 
                        files: [
                            'scripts/controllers/TestController.js',
                            'scripts/services/testService.js',
                        ] 
                    });
                }]
            }
       });
但我得到了这个错误:

Uncaught ReferenceError: Test is not defined

将服务文件放在控制器之前

'scripts/services/testService.js',
'scripts/controllers/TestController.js'
'scripts/services/testService.js'
'scripts/controllers/TestController.js'
注入器应该是一个字符串

['$rootScope', '$scope', 'Test', function
控制器中缺少“”while name服务,因为它是字符串

来自

angular.module('TestApp')
  .controller('TestController',  ['$rootScope', '$scope', Test, function($rootScope, $scope, Test)

angular.module('TestApp')
  .controller('TestController',  ['$rootScope', '$scope', 'Test', function($rootScope, $scope, Test) 
在加载控制器之前,还要将服务放入订单中

'scripts/services/testService.js',
'scripts/controllers/TestController.js'
'scripts/services/testService.js'
'scripts/controllers/TestController.js'

尝试从以下位置更改控制器定义:

angular.module('TestApp')
   .controller('TestController',  ['$rootScope', '$scope', Test,
function($rootScope, $scope, Test) { ... }
致:


请注意dep注射列表中的“测试”…

lol,因此我将对所有人投弃权票,并对最早和完整的答案打勾。