#javascript #html #angular #dom
Вопрос:
Допустим, у меня есть основной app.component
<router-outlet/>
компонент, и этот компонент может иметь несколько вложенных компонентов. Некоторые из них очень легкие, некоторые из них содержат тонны компонентного кода множество объектов DOM, таких как изображения и т. Д.
Это выглядит так, когда я использую на своем основном app.component
public ngAfterViewInit(): void {
console.log('loaded: ', new Date());
}
он срабатывает мгновенно после ввода представления этого компонента, не принимая во внимание все вложенные дочерние элементы (я не могу жестко ngAfterViewInit
кодировать везде — у меня более 100 компонентов).
Есть ли какой-нибудь хороший способ узнать, когда все представления компонентов приглашаются в угловой?
Кроме того, есть ли какой-либо хороший способ узнать, когда все изображения загружены на текущую страницу маршрута?
Комментарии:
1. стакблиц, пожалуйста?>
2. @AakashGarg это действительно необходимо? это больше об архитектуре и общих угловых вещах… чем об одном реальном примере
3. если вы можете привести мне пример, я смогу более четко понять, что происходит. вот почему это необходимо.
Ответ №1:
Я предполагаю, что не все компоненты загружаются при запуске app.component.ts. речь больше идет о модулях, когда вы нажимаете на лениво загруженный модуль, все его компоненты инициируются и так далее.
Ответ №2:
Когда ваш корневой компонент загружен, это сигнал о том, что все дочерние компоненты загружены на этот компакт-диск. С компонентами маршрутизатора вам необходимо реализовать ту же логику(когда загружается корень текущего маршрута, загружаются все дочерние элементы).