2015-12-01 14 views
5

Stavo cercando di evitare errori del template con js angolari quando il mio utente non è stato autenticato. Per fare questo, sono arrivato a questo stackoverflow solution.

Ha funzionato per me, ma ora ho notato che il mio ng-animate ha smesso di funzionare senza generare errori nella console.

Cosa mi manca?

Aggiornamento: Questo è il codice utilizzato

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

Per chiarezza, vi consiglio di incluso il codice dalla soluzione legata. – tasseKATT

risposta

4

La funzione $templateRequest contiene proprietà aggiuntive utilizzate internamente. È necessario spostare queste proprietà nella nuova funzione.

Ecco un'implementazione che dovrebbe funzionare:

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

Ho avuto lo stesso problema, ma questo non ha risolto il problema. è necessario spostare il ciclo for affinché si trovi al di fuori della chiamata della funzione effettiva, altrimenti non copierà tutto fino a quando non avrai richiesto il tuo primo modello. – M21B8