AngularJs使用来自另一个模块

时间:2016-04-10 17:57:33

标签: angularjs

我尝试使用我主要模块中的一项服务,我将在任何地方使用它。

这是我的控制器,我想在其中使用它:

(function () {
    'use strict';

    angular.module('app.page')
    .controller('authCtrl', ['$scope', '$window', '$location','requestService', authCtrl]);


    function authCtrl($scope, $window, $location, requestService) {
        $scope.login = function() {
            requestService.test();
        }
    }
})();

模块

(function () {
    'use strict';

    angular.module('app.page',['app']);
})(); 

服务

(function () {
    'use strict';

    angular.module('app')
        .service('requestService',requestService);

    function requestService() {
        this.test = function()
        {
            alert('test');
        }
    }
})();

但我的requestService()中找不到controller。我在这里做错了什么?

- 编辑 -

错误消息:

angular.js:13424 Error: [$injector:unpr] http://errors.angularjs.org/1.5.3/$injector/unpr?p0=requestServiceProvider%20%3C-%20requestService%20%3C-%20authCtrl
    at Error (native)
    at http://localhost:3000/bower_components/angular/angular.min.js:6:416
    at http://localhost:3000/bower_components/angular/angular.min.js:43:7
    at Object.d [as get] (http://localhost:3000/bower_components/angular/angular.min.js:40:270)
    at http://localhost:3000/bower_components/angular/angular.min.js:43:69
    at d (http://localhost:3000/bower_components/angular/angular.min.js:40:270)
    at e (http://localhost:3000/bower_components/angular/angular.min.js:41:1)
    at Object.invoke (http://localhost:3000/bower_components/angular/angular.min.js:41:86)
    at S.instance (http://localhost:3000/bower_components/angular/angular.min.js:88:235)
    at n (http://localhost:3000/bower_components/angular/angular.min.js:64:174) <section data-ui-view="" class="view-container {{main.pageTransition.class}} ng-scope" data-ng-animate="1">

1 个答案:

答案 0 :(得分:0)

定义服务模块时,未提供空依赖关系数组来创建新模块。 Angular将尝试查找现有的app模块而无法找到它。您需要像这样定义服务模块:

(function () {
    'use strict';

    angular.module('app', [])
        .service('requestService',requestService);

    function requestService() {
        this.test = function()
        {
            alert('test');
        }
    }
})();