Условно загрузить модуль ng-animate?

Мы используем модуль Angular 1.4.9 ng-animate. Все работает нормально, но некоторые из наших команд просят способ НЕ загружать в зависимости от условия.

Например, на конкретной платформе или пользовательском агенте нет загрузок ng-animate.

У нас уже есть несколько способов проверить это (egmodernizr) и использовать их для условной загрузки других файлов.js и.css, но, поскольку ng-animate является модулем, простое исключение его файла js приведет к ошибке.

1 ответ

Решение

Если вы загрузите приложение вручную, это будет довольно просто.

Сохраните ваши зависимости в глобальной переменной:

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

Используйте это, когда вы определяете свой модуль:

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

Измените зависимости перед загрузкой приложения:

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

  var condition = true;

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

  angular.bootstrap(document, ['myApp']); 
});
Другие вопросы по тегам