我想弄清楚在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?