angular使用innerHtml時style行內樣式消失


之前在項目中 有用到富文本編輯器  大部分富文本編輯器的本質是一段HTML  項目中的需求是將這部分html 以瀏覽方式顯示出來

所以就想到了用innerHtml   但是實際用下去發現   html內容還在 但樣式消失了

后面去網上查了下資料  才發現是因為angular使用innerHtml時style行內樣式消失 大致原因是angular出於安全考慮 

解決方案則是要使用angular的一個DOM解釋器    方式則是通過angular管道來對html進行格式化

 代碼如下:

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);
}
}
 
上文中提到的資料來源於:https://me.csdn.net/jokren 的博客  感謝


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM