ドキュメントがロードされた後、角度コンポーネント内のすべての 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!");
}
});
}
これは期待どおりには機能しませんが、他の方法でこの方法を試しているのを見たことがないので、同様の方法が機能する可能性があると考えています。
注:事前タグは、データベースから非同期にロードされ、[innerHTML]="content"
.
何か案は?