В AngularJS как вы гарантируете, что элемент HTML запускается в скрытом состоянии при загрузке страницы?
На моей странице есть начальная задержка, когда контроллер создан, где элемент можно увидеть на экране, прежде чем он исчезнет.
Я пробовал комбинировать эти атрибуты различными способами:
<li
data-ng-show
data-ng-if
data-ng-cloak
class="ng-hide"
но элемент всегда отображается на полсекунды на экране перед исчезновением.
Правильный способ управления загрузкой страницы - использовать "разрешение" на маршруте: он даст доступ к вашему контроллеру и частично, только когда возвращается асинхронный вызов.
см. решение в этой документации:
https://docs.angularjs.org/api/ngRoute/provider/$routeProvider
Для вашего вопроса, если вам все еще нужно ng-show, оно должно работать, если вы включите переменные в false.
Изменение: извините, ng-show, похоже, действительно имеет проблему при угловой загрузке.
Чтобы ng-Cloak
работал, убедитесь, что у вас также есть соответствующее правило CSS:
[ng\:cloak], [ng-cloak], [data-ng-cloak], [x-ng-cloak], .ng-cloak, .x-ng-cloak {
display: none !important;
}
Глянь сюда:
Есть несколько способов сделать это.
Это происходит только тогда, когда ng-app запускается, что загружается в AngularJS.
Бутстрапинг можно выполнить вручную в некоторый момент времени.
angular.module('appName', []);
angular.element(document).ready(function(){
angular.bootstrap(document, ['appName']);
});
Другой метод - использовать ng-cloak
. Это позволяет отображать часть страницы только тогда, когда AngularJS загрузился.
Установите class="ng-cloak"
в своей части, которую вы не скроете, прежде чем AngularJS будет загружен.
Угловые включают в себя этот класс и просто применяют display: none !important
для него.
Как только приложение загрузится, угловой поиск этих элементов и их отображение.
Обратите внимание, что хорошая практика заключается в том, чтобы resolves
или объявлять (что вы можете объявить) в вашем способе конфигурации
Дайте им класс css, который устанавливает их для display: none
изначально. ng-show
/ng-hide
/ng-if
следует переопределять их по мере необходимости, когда Angular наконец-то вздрагивает. Все это видно в начале, когда страница закончила рендеринг DOM, но Angular еще не инициализировал.