Renderer2需要使用ElementRef

时间:2019-07-24 02:21:24

标签: angular

我想弄清楚在Rangleer中使用Renderer2的方法,我对使用ElementRef.nativeElement的安全警告感到困惑。安全警告警告我们不要使用nativeelement,但是,我在网上看到的所有示例都使用renderer2进行了更改,但仍使用elementref.nativeelement传递了引用。

考虑以下示例:

import { Directive, ElementRef, OnInit, Renderer2 } from '@angular/core';

@Directive({
  selector: '[appHighlight]'
})
export class HighlightDirective implements OnInit {

  constructor(
    private el: ElementRef,
    private renderer: Renderer2
  ) { }

  ngOnInit() {
    // this.el.nativeElement.style.color = 'blue';
    this.renderer.setStyle(this.el.nativeElement, 'color', 'blue');
  }

}

尽管这是使用Renderer进行更改的,但nativeElement仍在访问中。如何在不使用nativeElement的情况下使用Renderer?

0 个答案:

没有答案