Специальная директива (AngularJS) или загрузка некоторых шаблонов до того, как все сценарии получат содержимое

У меня есть скрипт при загрузке страницы:

200 ОК, 45 мс
angular.min.js (строка 100)
/customers/create.form.tpl

200 ОК 44мс
angular.min.js (строка 100)
/customers/new.json

200 ОК 41мс
angular.min.js (строка 100)
/customers/new.json

200 ОК 41мс

Я хочу, чтобы до того, как AngularJS загрузит все скрипты, шаблон загрузки страниц, пока все скрипты не будут загружены и когда скрипты загружены, пользователь может использовать продукт.

1 ответ

Решение

Есть так много способов сделать это:

1) Вы можете создать маску загрузки, которая покрывает все в вашем приложении и имеет привязку ng-hide, привязанную к переменной, которая находится в корневой области и получает значение true в.run(). Таким образом, когда Angular загружается и инициализируется, вы скрываете маску загрузки. Нет необходимости в директиве, нет ничего.

2) У вас может быть директива, которая скрывается. Таким образом, перед инициализацией angular, загрузочный элемент отображается на странице. Затем, после инициализации, директива применяет некоторый класс CSS к загрузочному элементу, затем затухает, а затем удаляет его из DOM.

3) У вас может быть специальный загрузочный div, который остается активным даже после загрузки фреймворка (возможно, у вас есть ajax-запрос, который также необходимо выполнить). В этом случае 1) может работать так же, как и раньше, просто установите для переменной rootScope значение true только после завершенного запроса ajax.

Другие вопросы по тегам