角度服务注入不一致

时间:2017-05-18 11:59:24

标签: javascript angularjs angular-services

我是AngularJS的初学者

我有一个角度服务如下

angular.module('TestModule', []).service('testservice', ['$timeout', testservice]);
function testservice($timeout) {
    /* my function */
}

我正在我的主模块中注入此模块,如下面的app.js

angular.module("MainModule", ['TestModule']);

并尝试在我的控制器中注入testservice,如下所示

(function () {
'use strict';
angular
.module('MainModule')
.controller('testController', ['$scope', '$state', 'testservice',  testController]); 
function testController($scope, $state, testservice ) {
/*I have my functions here */
}

})();

有时,它会成功注入,有时会抛出错误,如下所示

  

未知提供者:testserviceProvider< - testservice< - testController

我无法猜出问题而且我完全陷入了困境。我做错了什么?

1 个答案:

答案 0 :(得分:1)

上述代码无法导致此错误

  

未知提供者:testserviceProvider< - testservice< - testController

如果包含TestModule的{​​{1}}被testservice的另一个定义意外覆盖,则会发生这种情况:

TestModule

如果错误出现并随机消失,这意味着在某些情况下,包含angular.module('TestModule', []); 模块TestModule的文件在包含被覆盖的testservice的文件之前加载,在某些情况下它会& #39;不是。