Я пытаюсь выбрать все элементы pre в угловом компоненте ПОСЛЕ, когда документ был загружен.
ngAFterViewChecked, ngAfterContentChecked, ngAfterContentInit обычно запускаются 30 раз перед загрузкой документа, что замедляет работу моего приложения.
Таким образом, остается ngAfterViewInit, который, по логике вещей, должен работать, но ничего не делает, потому что документ еще не загружен. Итак, я думаю, что прослушиватель событий, как в vanilla js.
constructor(
@Inject(DOCUMENT) private document: Document,
private renderer: Renderer2
) { }
ngAfterViewInit(): void {
this.renderer.listen('document', 'load', (event) => {
console.log("loaded")
const pres = this.document.querySelectorAll('pre');
for (var i = 0; i < pres.length; ++i) {
console.log("Yes!");
}
});
}
Это не работает, как ожидалось, но я не видел никаких других методов, которые бы пытались что-то сделать таким образом, поэтому я думаю, что что-то подобное может сработать.
Примечание. Мои теги pre загружаются асинхронно из базы данных в файле [innerHTML]="content"
.
Любые идеи?