问题描述: 使用innerHTML渲染新闻详情时,发现style样式消失。
解决办法: 使用bypassSecurityTrustHtml
bypassSecurityTrustHtml(): 是 DomSanitizer 下面的一个方法,通过接收html代码或svg图片,将它们转换为安全的值,防止出现报错。
pipe文件:
import { Pipe, PipeTransform } from "@angular/core";
import { DomSanitizer } from "@angular/platform-browser";
@Pipe({
name: "html"
})
export class HtmlPipe implements PipeTransform {
constructor(private sanitizer: DomSanitizer) {
}
transform(style) {
return this.sanitizer.bypassSecurityTrustHtml(style);
}
}
html文件:
<div [innerHTML]="articleInfo.content | html"></div>
使用bypassSecurityTrustHtml之前:
使用bypassSecurityTrustHtml之后: