Фоновый процесс без влияния Routing in Angular

Я нашел лучший ответ в Угловом документе для вашего вопроса. Надеюсь, он предоставит вам четкий подход, чтобы узнать лучший выбор из *ngIf и hidden.

Из углового указателя

Разница между скрытием и удалением не имеет значения для простого абзаца. Неважно, когда элемент хоста привязан к ресурсоемкому компоненту. Такое поведение компонента продолжается даже тогда, когда оно скрыто. Компонент остается прикрепленным к его элементу DOM. Он продолжает слушать события. Угловое отслеживает изменения, которые могут повлиять на привязку данных. Независимо от того, что делает компонент, он продолжает делать.

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

С положительной стороны, показывая элемент снова быстро. Предыдущее состояние компонента сохраняется и готово к отображению. Компонент не повторно инициализируется - операция, которая может быть дорогостоящей. Так что скрывать и показывать иногда нужно.

Но в отсутствие веских причин держать их в стороне, вам нужно будет удалить элементы DOM, которые пользователь не может увидеть и восстановить неиспользуемые ресурсы со структурной директивой, такой как NgIf .

Эти же соображения применимы к каждой структурной директиве, независимо от того, встроены ли они или нет. Прежде чем применять структурную директиву, вы можете временно приостановить рассмотрение последствий добавления и удаления элементов и создания и уничтожения компонентов.

blockquote>

1
задан Jeroen Heier 20 January 2019 в 07:15
поделиться

1 ответ

Вместо того, чтобы делать вызов внутри ProcessDataComponent, вы можете сделать это внутри AppComponent (тот, который содержит все приложение). Этот компонент долговечен и не будет уничтожен при навигации. Способ прослушивания нажатия кнопки (чтобы вызвать запрос), вероятно, должен быть через службу.

Вот краткое демо о StackBlitz .

0
ответ дан Dzhavat Ushev 20 January 2019 в 07:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: