[英]CSS styles doesn't work for Html added by innerHtml in Angular 2+ directive
我正在嘗試實現一個簡單的加載圖標指令:
import { Directive, ElementRef, Renderer2, Input, OnChanges } from '@angular/core';
@Directive({
selector: '[appLoading]',
})
export class LoadingDirective implements OnChanges {
@Input() appLoading: boolean;
constructor(private elRef: ElementRef, private renderer: Renderer2) {
}
ngOnChanges() {
if (this.appLoading) {
this.renderer.addClass(this.elRef.nativeElement, 'loading-wrap');
this.elRef.nativeElement.innerHtml = '<div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div>';
} else {
this.renderer.setStyle(this.elRef.nativeElement, 'display', 'none');
}
}
}
在我的模板中,我有:
<div [appLoading]="isLoading"></div>
但它看起來像 Angular 不適用我的 styles 加載微調器在 styles.ZC7A628CBA22E28EB16AZB5 內容添加到 innerHtmlA5 styles 用於 class 'loading-wrap' 的主要元素。
錯誤是由innerHtml
引起的,顯然應該是innerHTML
this.elRef.nativeElement.innerHTML = '<div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div>';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.