В моем приложении AngularJS я отображаю значок загрузки для пользователя, пока весь контент не загрузится. У меня есть два условия в контроллере, которые меняются после загрузки контента, например:
function form1200questionnaireCtrl(){
vm.loading = true;
vm.patentsLoaded = true;
angular.element(function () {
vm.loading = false;
vm.patentsLoaded = true;
console.log('should hit', vm.loading, vm.patentsLoaded)
});
}
<div data-ng-show="$ctrl.loading" >
<img src="assets/imgs/icons/spinner-loader.gif">
</div>
<div data-ng-show="$ctrl.patentsLoaded" class="animate-show">
//all content
</div>
Моя проблема в том, что значения как vm.loading
, так и vm.patentsLoaded
меняют значение, когда я регистрирую его в консоли, но загрузочный gif отображается в течение 10-15 секунд, прежде чем скрыться и отобразится содержимое.
Вопрос
Почему представление не сразу улавливает изменение области действия с помощью ng-show
?