2016-09-11 20 views
0

I次のコンポーネントは、ここで私がサービスを注入しようとしていますがあります。角度キャッチされないのReferenceErrorは:サービスが定義されていない

angular. 
    module('phoneList'). 
    component('phoneList', { 
    templateUrl: '/static/common/angular/phone-list/phone-list.template.html', 
    controller: ['$http', 'authenticationService', 
     function PhoneListController($http, authenticationService) { 
     var self = this; 


      authenticationService.authenticate().then(function(){ 
       console.log('it worked!!!!!!!!'); 
       }); 

     } 
    ] 
    }); 

サービスは、次のようになります。

angular.module('authentication').factory('authenticationService', function($http, $se){ 
    function authenticate(){ 

     $http.post('/o/token/', data, config) 
       .success(function (data, status, headers, config) { 
        console.log('auth service: '+data['access_token']); 
        $sessionStorage.access_token = data['access_token']; 
       }); 
    }  
    function getToken(){ 
     return $sessionStorage.access_token; 
    } 
    return { 
     authenticate:authenticate, 
     getToken:getToken 
    }; 
}); 

私の電話リスト.module.jsは次のようになります。

angular.module('phonecatApp', [ 
    'phoneList', 
    'authentication', 
]); 

angular.module('phoneList', ['authentication']); 

私はこれを実行すると、私はエラーを取得:

Uncaught ReferenceError: authenticationService is not defined

私は「」で「authenticationService」を置くとき、私はエラーを取得する:

Error [$injector:unpr] authtenticationService

+0

私が試しましたそれと私は同じエラーが発生します。 – Atma

+0

'angular.module( 'phonecatApp')'を2回定義しています。これは、モジュールを2回作成できないことを意味します。あなたのエラー 'authtenticationService'にも誤りがあります(たぶんtypo?)。 – A1rPun

答えて

1

サービスが適切にPhoneListControllerに注入されていないようです。それに

変更:配列内の文字列だけである

controller: ['$http', 'authenticationService', 
    function PhoneListController($http, authenticationService) { 
... 

は、注入された依存関係の参照が安全に縮小維持します。サービスは引き続き関数の引数として追加する必要があります。

はまた、各コンポーネントの一度angular.moduleを呼び出してください:A1rPun @

app.module.js

angular.module('phonecatApp', [ 
    'ngRoute', 
    'phoneList', 
    'authentication', 
]); 

電話list.module.js

angular.module('phoneList', ['authentication']); 
+0

あなたの助けてくれてありがとう@Oberon。私はまだエラーが発生します:エラー[$ injector:unpr] authtenticationService。 authtenticationServiceを '認証'ではなくモジュール依存に追加する必要がありますか? – Atma

+1

私は@ A1rPunの提案に従い、 'phoneList'と' phonecatApp'モジュールは_once_のみ定義します。私は可能な選択肢で私の答えを編集します。 – Oberon

+0

私もそれをやって、私は同じエラーが発生します。あなたの助けをもう一度ありがとう。 – Atma

関連する問題