Angular解析html標(biāo)簽

在angular中使用innerHtml給標(biāo)簽賦值時(shí)娜庇,報(bào)錯(cuò):Angular: How to Deal With the 'Sanitizing HTML Stripped Some Content'损姜;查資料發(fā)現(xiàn),原來是angular出于安全原因键菱,會(huì)將innerhtml內(nèi)的標(biāo)簽過濾掉,所以渲染失敗。最后使用angular的管道解決問題,至于管道的詳細(xì)介紹者吁,大家可以自行查閱資料。

下面記錄一下業(yè)務(wù)需求實(shí)現(xiàn)步驟

  • 需求:要做一個(gè)消息搜索功能饲帅,將搜索詞在當(dāng)前消息中高亮顯示复凳。
  • 思路:
    1瘤泪、將搜索詞替換為帶標(biāo)簽html元素;
    2育八、使用innerhtml方法將替換后的內(nèi)容賦值給標(biāo)簽对途。

最終效果圖:


消息搜索.png
  • 實(shí)現(xiàn)步驟
    1、在utils目錄下新建一個(gè)nosanitizerpipe.ts文件髓棋;文件內(nèi)容如下:
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';

@Pipe({ name: 'noSanitize' })  //noSanitize是在html中使用管道時(shí)的名稱
export class NoSanitizePipe implements PipeTransform {
  constructor(private domSanitizer: DomSanitizer) { }

  transform(html: string): SafeHtml {
    return this.domSanitizer.bypassSecurityTrustHtml(html);
  }
}
目錄結(jié)構(gòu).png

2实檀、在app.module.ts文件中引用;

import { NoSanitizePipe } from '../app/utils/nosanitizerpipe';

//在declarations中聲明
@NgModule({
  declarations: [
    ...,
    NoSanitizePipe
  ]
})

3仲锄、在ts文件中處理消息(此步驟為我的項(xiàng)目需求劲妙,可不參考)湃鹊;

//this.msgValue為搜索的值儒喊,item.content.content為當(dāng)前這條消息內(nèi)容
//消息為(例):去看房間有正規(guī)的報(bào)價(jià)單嗎?
//處理為:去看房間有正規(guī)的報(bào)價(jià)單<span style="color:red;">嗎</span>币呵?
item.content.content = (item.content.content).split(this.msgValue).join(`<span style="color:red;">${this.msgValue}</span>`);

4怀愧、在HTML中使用。

<p [innerHTML]="item.content.content | noSanitize"></p>

參考地址:https://careydevelopment.us/blog/angular-how-to-deal-with-the-sanitizing-html-stripped-some-content-issue

至此余赢,問題解決芯义,特此記錄!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末妻柒,一起剝皮案震驚了整個(gè)濱河市扛拨,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌举塔,老刑警劉巖绑警,帶你破解...
    沈念sama閱讀 206,968評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異央渣,居然都是意外死亡计盒,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門芽丹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來北启,“玉大人,你說我怎么就攤上這事拔第」敬澹” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵蚊俺,是天一觀的道長(zhǎng)培廓。 經(jīng)常有香客問我,道長(zhǎng)春叫,這世上最難降的妖魔是什么肩钠? 我笑而不...
    開封第一講書人閱讀 55,416評(píng)論 1 279
  • 正文 為了忘掉前任泣港,我火速辦了婚禮,結(jié)果婚禮上价匠,老公的妹妹穿的比我還像新娘当纱。我一直安慰自己,他們只是感情好踩窖,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,425評(píng)論 5 374
  • 文/花漫 我一把揭開白布坡氯。 她就那樣靜靜地躺著,像睡著了一般洋腮。 火紅的嫁衣襯著肌膚如雪箫柳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評(píng)論 1 285
  • 那天啥供,我揣著相機(jī)與錄音悯恍,去河邊找鬼。 笑死伙狐,一個(gè)胖子當(dāng)著我的面吹牛涮毫,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播贷屎,決...
    沈念sama閱讀 38,432評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼罢防,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了唉侄?” 一聲冷哼從身側(cè)響起咒吐,我...
    開封第一講書人閱讀 37,088評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎属划,沒想到半個(gè)月后恬叹,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡榴嗅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,028評(píng)論 2 325
  • 正文 我和宋清朗相戀三年妄呕,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嗽测。...
    茶點(diǎn)故事閱讀 38,137評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绪励,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出唠粥,到底是詐尸還是另有隱情疏魏,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評(píng)論 4 324
  • 正文 年R本政府宣布晤愧,位于F島的核電站大莫,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏官份。R本人自食惡果不足惜只厘,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,343評(píng)論 3 307
  • 文/蒙蒙 一烙丛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧羔味,春花似錦河咽、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至搁凸,卻和暖如春媚值,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背护糖。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工褥芒, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人椅文。 一個(gè)月前我還...
    沈念sama閱讀 45,595評(píng)論 2 355
  • 正文 我出身青樓喂很,卻偏偏與公主長(zhǎng)得像惜颇,于是被迫代替她去往敵國(guó)和親皆刺。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,901評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • angular2正式版9月15日(中秋節(jié))發(fā)布凌摄,我從10月份開始入門學(xué)習(xí)(參考前文入門日志)羡蛾,11月開始項(xiàng)目開發(fā),...
    琢磨先生lf閱讀 2,168評(píng)論 0 7
  • 1.說說你對(duì)盒子模型的理解 當(dāng)對(duì)一個(gè)文檔進(jìn)行布局(layout)的時(shí)候锨亏,瀏覽器的渲染引擎會(huì)根據(jù)標(biāo)準(zhǔn)之一的 CSS ...
    Ysrenacer1_bcfd閱讀 2,049評(píng)論 0 19
  • 第一節(jié):初識(shí)Angular-CLI第二節(jié):登錄組件的構(gòu)建第三節(jié):建立一個(gè)待辦事項(xiàng)應(yīng)用第四節(jié):進(jìn)化痴怨!模塊化你的應(yīng)用第...
    接灰的電子產(chǎn)品閱讀 15,556評(píng)論 31 77
  • Angular 2架構(gòu)總覽 - 簡(jiǎn)書http://www.reibang.com/p/aeb11061b82c A...
    葡萄喃喃囈語閱讀 1,480評(píng)論 2 13
  • Angular 2是一個(gè)幫助我們使用HTML和JavaScript構(gòu)建客戶端應(yīng)用的框架。這個(gè)框架包含幾個(gè)互相協(xié)作的...
    JasonQiao閱讀 7,082評(píng)論 1 48