簡體   English   中英

CSS styles 不適用於 Html 在 ZC31C335EF37283CDE4512B+ 中添加的 innerHtml 指令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM