У меня в программе есть счетчик загрузки материалов Angular, который отображается при вызове REST API. Когда обещание разрешается, переменная visible
получает значение false
, и счетчик должен исчезнуть.
Моя проблема в том, что счетчик не обновлять, если снова установлено значение false. Мне нужно вручную вызвать всплывающую подсказку над кнопкой или чем-то еще, и только тогда страница скрывает счетчик.
Я точно знаю, что переменная устанавливается правильно, но страница не обновляет состояние счетчика когда он должен исчезнуть. Отображение работает правильно.
Проблема в том, что состояние устанавливается и не устанавливается в одной и той же функции?
Вот шаблон
<div [hidden]="!visible" class="row justify-content-center">
<mat-spinner></mat-spinner>
</div>
Когда я нажимаю кнопку обновления, this.visible = true;
называется. Затем вызывается служба http:
this.httpService.getData(data).then(receivedData => {
[...]
this.visible = false; // this is called correctly, but does not change the visibility.
Но счетчик все еще там, вместе со всеми нарисованными сейчас графиками:
Как это исправить? Счетчик больше не должен быть виден, но он исчезает только после того, как я наведу курсор на кнопку или другой элемент.