前言
眾所周知在Web前端開發中,我們經常會遇見需要動態的將一些來自后端或者是動態拼接的HTML字符串綁定到頁面DOM顯示,特別是在內容管理系統(CMS:是Content Management System的縮寫),這樣的需求,更是遍地皆是。但是最近在Angular4綁定html內容的時候出現了警告,通過查找相關資料終于解決了,下面給同樣遇到這個問題的朋友們分享下,話不多說了,來一起看看詳細的介紹吧。
綁定html內容
如果用正常的方法去綁定的話,可能會出再這種警告
<div [innerHTML]="Catcha" ></div> --------------------------------------- WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss).
而且頁面上也顯示不出東西來。
在網上找了一些,說要寫指令對其進行轉,好麻煩,從官網也找到一個種辦法。
bypassSecurityTrustHtml 用這個來進行安裝轉換。
在返回的結果對內容,或內容字段進行轉換,當然要使用 bypassSecurityTrustHtml 的話,還是要依賴注入 DomSanitizer 服務,
import { DomSanitizer } from '@angular/platform-browser'; export class myPage1{ constructor(private sanitizer: DomSanitizer) { } onInit():void{ this.Catcha = this.sanitizer.bypassSecurityTrustHtml('要進行轉換的內容'); // 這里比如返回的一個html內容,或是其它如一張 svg 的圖等,用上面代碼轉一下就可以了,就不會那那個錯誤了。 } }
總結
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com