2016-04-10 37 views
-1

我正嘗試使用我將要使用的主要模塊中的服務。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'); 
     } 
    } 
})(); 

但我的controller中找不到requestService()。我在這裏做錯了什麼?

- 編輯 -

錯誤消息:

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

對不起:) – Jamie

+1

應用程序模塊的定義在哪裏?什麼是你得到的確切和完整的錯誤信息?這是重要的信息。 –

回答

0

當你定義你的業務模塊,你沒有提供一個空的依賴陣列創建一個新的模塊。 Angular將嘗試找到現有的app模塊,但找不到它。您需要像這樣定義您的服務模塊:

(function() { 
    'use strict'; 

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

    function requestService() { 
     this.test = function() 
     { 
      alert('test'); 
     } 
    } 
})(); 
相關問題