2015-12-01 14 views
5

Próbowałem uniknąć błędów szablonu z kątowym js, gdy mój użytkownik stał się nieuwierzytelniony. Aby to zrobić, przyszedłem do tego stackoverflow solution.

To zadziałało dla mnie, ale teraz zauważyłem, że mój animator przestał działać bez wyrzucania błędów konsoli.

Czego mi brakuje?

Aktualizacja: Jest to kod używany

var app = angular.module('app',[]); 

app.config(['$provide', function($provide) { 
    $provide.decorator('$templateRequest', ['$delegate', function($delegate) { 
    var mySilentProvider = function(tpl, ignoreRequestError) { 
     return $delegate(tpl, true); 
    } 
    return mySilentProvider; 
    }]); 
}]); 
+2

Dla jasności, polecam tym kodem z połączonego rozwiązania. – tasseKATT

Odpowiedz

4

Funkcja $templateRequest zawiera dodatkowe właściwości, które są używane wewnętrznie. Musisz przenieść te właściwości do nowej funkcji.

Oto implementacja że powinno działać:

app.config(['$provide', function($provide) { 
    $provide.decorator('$templateRequest', ['$delegate', function($delegate) { 

    var fn = $delegate; 

    $delegate = function(tpl) { 

     for (var key in fn) { 
     $delegate[key] = fn[key]; 
     } 

     return fn.apply(this, [tpl, true]); 
    }; 

    return $delegate; 
    }]); 
}]); 
+2

Miałem ten sam problem, ale to nie całkiem to naprawiło. musisz przenieść pętlę for poza rzeczywiste wywołanie funkcji, w przeciwnym razie nie skopiuje wszystkiego, dopóki nie zażądasz swojego pierwszego szablonu. – M21B8