Розетка маршрутизатора задержки рендеринга - PullRequest
0 голосов
/ 09 мая 2020

Я новичок в Angular6 и столкнулся со следующим сценарием:

У меня есть API на app.component.ts. После получения данных я сохраняю их в хранилище сеанса для использования другого компонента (например, abcComponent).

Проблема здесь в том, что к тому времени, когда abcComponents пытается получить из сеанса, API в app.component не завершен и, следовательно, он не сохраняется в хранилище сеанса

с использованием маршрутизатора-розетки для загрузки другие мои компоненты.

Я пробовал использовать resolve, но служба в разрешении вызывается для каждого компонента. Так что любые предложения будут полезны

Ответы [ 2 ]

0 голосов
/ 09 мая 2020

Обычный способ решения этой проблемы в Angular:

  1. Создайте службу и пометьте ее как @Injectable.
  2. В службе вызовите API с помощью Angular Модуль HttpClient, который возвращает наблюдаемые.
  3. В abcCompoent вставьте службу и подпишитесь на наблюдаемое, которое вызывает API, а затем используйте данные по своему усмотрению.

I знайте, что это может показаться запутанным, но здесь у вас есть документация Angular с хорошим примером: Связь с серверными службами с использованием HTTP - Angular docs

0 голосов
/ 09 мая 2020

вы хотите вызвать api в abccomponent, а не app.component. и у abccomponent должен быть какой-то счетчик, чтобы показать пользователю, что данные загружаются.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...