我开发了一个指令,可以动态地将elementRef添加到当前Element中。 是否可以将ngStyle指令绑定到动态创建的elementRef。
dynamicElementStyle: { [key: string]: string; };
constructor(private _element: ElementRef, private _renderer: Renderer2) { }
@HostListener('mouseover') onHover() {
this.dynamicElementStyle.background-color = "red";
}
@HostListener('mouseleave') onHover() {
this.dynamicElementStyle.background-color = "green";
}
public ngOnInit(): void {
const dynamicElement = this._renderer.createElement('div');
/* How to bind dynamicElementStyle to this dynamicElement */
this._renderer.appendChild(this._element.nativeElement, dynamicElement);
}
我不会使用Renderer2.setStyle()来应用样式,而是使用对象。可以是ngStyle以及ngClass,ngIf等。