IvyとRenderer2について

(トラブルというより素朴な疑問なのですが)

今の最新のAngular (今だとAngular11)だとレンダリングエンジンがIvyという認識なんですが、
この場合、Renderer2って使っちゃいけないんですかね?
なんとなく、nativeElementでゴニョゴニョしたい時にふと思ったので、質問です。

3 Likes

おっしゃるとおり今は Renderer2 は基本的に使わないものですね。DOMのAPIを何か使いたいときには、

  1. コンポーネントで @Inject(DOCUMENT) して プラットフォーム非依存の Documentオブジェクトの参照を手に入れる
  2. ElementRef#nativeElement を参照する

のどちらかになりますね。platform-serverなどでNode.js上の実行環境になったときも擬似的なDOM APIをAngularが注入してくれます。

3 Likes

回答ありがとうございます!
理解しました!