Загрузка изображения перед скрытым загрузчиком

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

Вот мой код для сокрытия загрузчика:

ngAfterViewInit(): void {
   this.preloader.stop();
}

Данные извлекаются службой с преобразователем.

Кто-нибудь может мне помочь?

Спасибо!


person Stefan Mahr    schedule 13.02.2019    source источник
comment
не могли бы вы предоставить HTML-код, чтобы лучше понять вашу проблему   -  person TheParam    schedule 13.02.2019


Ответы (3)


Поскольку вы используете службу для получения данных с сервера, очень вероятно, что ваш метод службы возвращает Observable. вам нужно подписаться на наблюдаемое.

subscribe — это функция, которая фактически выполняет Observable. Он принимает три параметра обратного вызова:

подписаться(успех, неудача, завершение);

Например:

this.service.getDataFromServer().subscribe(
        function(response) { // executes when success
            console.log("Success" + response);
        }, 
        function(error) { // executed when failure
            console.log("Error" + error);
        }, 
        function() { // executes when completed
            console.log("Completed");
            this.preloader.stop();
        } 
    );
person Sadid Khan    schedule 13.02.2019

Я думаю, что вы можете сделать это:

Вы должны подписаться на свой внутренний вызов API в Angular.

  this.yourAPICallService.subscribe((res)=>{
      //You should get all data from the server here
    },
    (error: any) => {
      //catch any error
      console.info(error);
    },
    ()=>{
      //codes should be executed after the completion of the API call
      this.preloader.stop();
    }
 );
person Kevin    schedule 13.02.2019

Спасибо, но это не исправляет ошибку. Это то же самое, что использовать преобразователь на маршруте для получения данных. Теперь вся информация отображается, если компонент визуализируется, но через некоторое время появляются изображения.

С наилучшими пожеланиями

person Stefan Mahr    schedule 13.02.2019