1

インターセプターを使用して、JWT トークンを http 呼び出しに追加しています。私のコードは次のようにうまく動作します:

angular
    .module("jwtKickStart")
    .factory("authInterceptorService", authInterceptorService);

authInterceptorService.$inject = ["$injector", "$q", "$timeout"];
function authInterceptorService($injector, $q, $timeout) {

    var $state, loginModal, $http;

    //...

しかし、それを IIFE でラップすると、不明なプロバイダー エラーが発生します。

(function () {
"use strict";

angular
    .module("jwtKickStart")
    .factory("authInterceptorService", authInterceptorService);

authInterceptorService.$inject = ["$injector", "$q", "$timeout"];
function authInterceptorService($injector, $q, $timeout) {

    var $state, loginModal, $http;

    //...

IIFE を使用することはできませんか?

編集:ここにいくつかの詳細があります

エラー メッセージは次のとおりです。 %20%24templateFactory%20%3C-%20%24view%20%3C-%20%24state

ソースコードはこちらから入手できます: https://github.com/capesean/JWTKickStart/tree/master/JWTKickStart.APP/app

4

1 に答える 1

0

このように注入してみてください:

(function () {
"use strict";

angular
    .module("jwtKickStart")
    .factory("authInterceptorService",["$injector","$q","$timeout" authInterceptorService]);

function authInterceptorService($injector, $q, $timeout) {
// your code
}
于 2015-09-11T10:57:25.900 に答える