簡単な工場を追加しようとするとエラーを取得:
Error: [$injector:unpr] http://errors.angularjs.org/1.4.6/$injector/unpr?p0=subfactoryProvider%20%3C-%20subfactory%20%3C-%20authService%20%3C-%20AuthorizationInterceptor%20%3C-%20%24http%20%3C-%20%24templateRequest%20%3C-%20%24compile
私はスクリプトタグを追加しました:
<script src="app/subfactory.js"></script>
subfactoryは以下のように定義されます次の:それはのAuthServiceに使用されている
(function() {
//'use strict';
angular
.module('app')
.factory('subfactory', subfactory);
function subfactory() {
var subValue = {};
return {
set: set,
get: get
};
function get() {
return subValue;
}
function set(value) {
subValue = value;
}
}
});
:
(function() {
//'use strict';
angular
.module('app')
.factory('authService', authService);
authService.$inject = ['subfactory'];
function authService(subfactory) {
// removed code for brevity
mgr.getUser().then(function (user) {
if (user) {
var idToken = user.id_token;
var dataIdToken = getDataFromToken(idToken);
subfactory.set(dataIdToken.sub);
} else {
//console.log("User not logged in");
}
});
私はまたのAuthServiceを呼び出すことAuthorizationInterceptorを持っている:
app.factory("AuthorizationInterceptor", ['$q', '$injector', '$rootScope', '$window', 'authService', function ($q, $injector, $rootScope, $window, authService) {
してください、どのように私はこのエラーを解決することができますか?
編集:
<script src="app/app.js"></script>
<script src="app/authService.js"></script>
<script src="app/subfactory.js"></script>
app.factory("AuthorizationInterceptor"...
は、エラーメッセージがF12コンソールでのみメッセージであるapp.js
に定義されています。
はあなたがそれらの工場を定義し、どのようなあなたは 'AuthorizationInterceptorを作成しているこの' app'変数があるされる順序とは何ですか「? –
このエラーが表示された場合、これは、subfactory.jsがロードされていないか、 'app'モジュールが定義されているファイルの前にロードされていたことを意味します(それを示す別のエラーがあるはずです)。 – estus