Style을 가진 HTML 표시하기

보안상 html 의 attribute는 innerHTML에서 제거한다
따라서 다음과 같이 처리해 주어야 style이 그대로 나타난다.

pipe 만들기

  • safeHtml.ts
import { NgModule, Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';

@Pipe({
  name: 'safeHtml'
})
export class SafeHtmlPipe implements PipeTransform {

  constructor(protected domSanitizer: DomSanitizer) {}
 
  public transform(html: any): any {
    return this.domSanitizer.bypassSecurityTrustHtml(html);
  }
}

@NgModule({
  declarations: [ SafeHtmlPipe ],
  exports: [ SafeHtmlPipe ],
})
export class SafeHtmlPipeModule { }
  • test.html
<div [innerHTML]="article.content | safeHtml"></div>
평점을 남겨주세요
평점 : 2.5
총 투표수 : 1