中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-09-05 16:01:05 來源:腳本之家 閱讀:192 作者:1CSH1 欄目:web開發

前言

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

h4>Binding innerHTML</h4>

<p>Bound value:</p>

<p
class="e2e-inner-html-interpolated">{{htmlSnippet}}</p>

<p>Result of binding to innerHTML:</p>

<p
class="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 樣式。

總結

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沾益县| 自贡市| 宁海县| 南宁市| 兴文县| 通城县| 涿州市| 常宁市| 宜兰县| 襄樊市| 洛扎县| 江都市| 威信县| 海兴县| 通榆县| 上思县| 施甸县| 忻城县| 合山市| 个旧市| 琼海市| 湘阴县| 姜堰市| 塔河县| 新闻| 军事| 德庆县| 淮南市| 平陆县| 望都县| 郴州市| 台北市| 慈利县| 甘谷县| 饶平县| 新绛县| 定南县| 贺兰县| 浮梁县| 云龙县| 翁源县|