0

ドキュメントがロードされた後、角度コンポーネント内のすべての 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" .

何か案は?

4

1 に答える 1