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,因此我将对所有人投弃权票,并对最早和完整的答案打勾。