我试图在加载文档后选择角度组件中的所有前置元素。
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"
.
有任何想法吗?