2015-12-01 12 views
5

Ich habe versucht, Vorlagenfehler mit eckigen js zu vermeiden, wenn mein Benutzer nicht authentifiziert wurde. Um dies zu tun, kam ich zu diesem stackoverflow solution.

Es funktionierte für mich, aber jetzt bemerkte ich, dass mein ng-animate aufhörte zu arbeiten, ohne Konsolenfehler zu werfen.

Was fehlt mir?

Update: Dies ist der Code

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

Aus Gründen der Klarheit, empfehle ich mit dem Code aus der verknüpften Lösung. – tasseKATT

Antwort

4

Die Funktion $templateRequest enthält zusätzliche Eigenschaften verwendet, die intern verwendet werden. Sie müssen diese Eigenschaften in die neue Funktion verschieben. Hier

ist eine Implementierung, die funktionieren soll:

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

Ich hatte das gleiche Problem, aber das hat es nicht ganz behoben. Sie müssen die for-Schleife so verschieben, dass sie außerhalb des eigentlichen Funktionsaufrufs liegt, da sonst nicht alles kopiert wird, bis Sie Ihre erste Vorlage angefordert haben. – M21B8

Verwandte Themen