国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Angular 4中如何顯示內容的CSS樣式示例代碼

2024-05-06 15:24:48
字體:
來源:轉載
供稿:網友

前言

在開始本文的正文之前,我們先來看一下angular2中將帶標簽的文本輸出在頁面上的相關內容,為了系統性的防范XSS問題,Angular默認把所有值都當做不可信任的。 當值從模板中以屬性(Property)、DOM元素屬性(Attribte)、CSS類綁定或插值表達式等途徑插入到DOM中的時候, Angular將對這些值進行無害化處理(Sanitize),對不可信的值進行編碼。

h3>Binding innerHTML</h3><p>Bound value:</p><pclass="e2e-inner-html-interpolated">{{htmlSnippet}}</p><p>Result of binding to innerHTML:</p><pclass="e2e-inner-html-bound" [innerHTML]="htmlSnippet"></p>
[innerHTML]="htmlSnippet"

這個屬性可以識別 HTML標簽 但不識別標簽中的屬性值

發現問題

大家都知道Angular 中有 innerHTML 屬性來設置要顯示的內容,但是如果內容包含 CSS 樣式,無法顯示樣式的效果。

比如:

public content: string = "<div style='font-size:30px'>Hello Angular</div>";<p [innerHTML]="content"></p>

只會顯示 Hello World ,字體不會是 30px,也就是 CSS 樣式沒有效果。

解決方案

自定義一個 Pipe 來對內容做轉換。看下面代碼。

寫一個 HtmlPipe 類

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); }}

在需要的模塊里面引入管道 HtmlPipe

@NgModule({ declarations: [ HtmlPipe ]})

在 innerHtml 中增加管道名字

<p [innerHTML]="content | html"></p>

這樣就可以顯示 content 的 CSS 樣式。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對錯新站長站的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 郯城县| 临西县| 岱山县| 会同县| 屏南县| 郸城县| 漳州市| 大田县| 潮安县| 丰顺县| 垫江县| 广宁县| 乐安县| 临邑县| 大洼县| 灵璧县| 理塘县| 广水市| 威海市| 鄂托克旗| 阿鲁科尔沁旗| 昆山市| 永嘉县| 客服| 普陀区| 印江| 文昌市| 滁州市| 尚志市| 桂平市| 临海市| 阿拉尔市| 长兴县| 九江县| 米林县| 应用必备| 霍城县| 镇原县| 成武县| 博白县| 汽车|