2016-09-30 72 views
2

我使用的innerHTML,並設置在我的CMS HTML中的反應似乎沒關係,如果我打印出來這樣: {{ poi.content }}Angular2的innerHTML刪除造型

它給了我正確的內容背: `

<table border="0" cellpadding="5" cellspacing="0"> 
    <tbody> 
    <tr> 
     <td style="vertical-align: top;">Tes11t</td> 
     <td style="width: 2px;">&nbsp;</td> 
     <td style="width: 1px;"><img alt="midgetgolf-sport-faciliteiten-vakantiepark-2.jpg" src="http://beeksebergen.dev/app_dev.php/media/cache/resolve/full_size/midgetgolf-sport-faciliteiten-vakantiepark-2.jpg" style="height: 67px; width: 100px;" /></td> 
     </tr> 
    </tbody> 
</table> 

`

但是當我使用[innerHtml]="poi.content"它給了我這個網站回來:

<table border="0" cellpadding="5" cellspacing="0"> 
    <tbody> 
     <tr> 
      <td>Tes11t</td> 
      <td>&nbsp;</td> 
      <td><img alt="midgetgolf-sport-faciliteiten-vakantiepark-2.jpg" src="http://beeksebergen.dev/app_dev.php/media/cache/resolve/full_size/midgetgolf-sport-faciliteiten-vakantiepark-2.jpg"></td> 
     </tr> 
    </tbody> 
</table> 

有誰知道它爲什麼剝我的風格,當我使用[innerHtml]

+0

這看起來很相似:http://stackoverflow.com/questions/36265026/angular-2-innerhtml-styling –

回答

6

Angular2進行消毒動態添加HTML,樣式,...

@Pipe({name: 'safeHtml'}) 
export class Safe { 
    constructor(private sanitizer:DomSanitizer){} 

    transform(html) { 
    return this.sanitizer.bypassSecurityTrustHtml(html); 
    } 
} 
[innerHtml]="poi.content | safeHtml" 

+0

未處理的承諾拒絕:'例外:無法解析安全的所有參數:(?) 。 platform-b​​rowser.umd.js:2347 EXCEPTION:無法解析Safe的所有參數:(?)。BrowserDomAdapter.logError' 也找不到名稱DomSanitizer – Sreinieren

+0

請確切和完整的錯誤信息。 –

+0

我必須導入導入DomSanitizer嗎? – Sreinieren