2016-06-16 4 views
0

Wir verwenden das Angular 1.4.9 ng-animate Modul. Alles funktioniert gut, aber einige unserer Teams fragen nach einem Weg, um NICHT basierend auf einer Bedingung zu laden.NG-Animationsmodul bedingt laden?

Zum Beispiel wird auf einer bestimmten Plattform oder einem Benutzeragenten keine ng-animate geladen.

Wir haben bereits ein paar Möglichkeiten, dies zu testen (z. B.modernizr) und diese verwenden, um andere .js und .css-Dateien bedingt laden, aber da ng-animate ist ein Modul einfach auszuschließen, seine js-Datei würde einen Fehler werfen.

Antwort

0

Wenn Sie Ihre Anwendung manuell starten, ist es eigentlich ziemlich einfach.

Ihre Abhängigkeiten in einer globalen Variablen halten:

window.myApplicationMeta = { 
    dependencies: [j] 
}; 

Verwenden Sie diese, wenn Sie Ihr Modul definieren:

angular.module('myApp', applicationMeta.dependencies) 

die Abhängigkeiten ändern, bevor Sie die Anwendung Bootstrap:

angular.element(document).ready(function() { 

    var condition = true; 

    if (condition) applicationMeta.dependencies.push('ngAnimate'); 

    angular.bootstrap(document, ['myApp']); 
});