2017-03-31 85 views
3

我使用角2和我尝试呈现哪些我有可变action.render内部为html代码文本:角2的innerHTML]渲染里的html(不工作的角2)

<p *ngIf="action.isHtml"> 
     <div [innerHTML]="{{action.content}}"></div>            
</p> 
<p *ngIf="!action.isHtml"> 
     {{action.content}} 
</p> 

innerHTML在我的情况下不起作用。 Angular 2还有其他方法吗? (这里是我所得到的)

这是我action.content

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    <html xmlns="http://www.w3.org/1999/xhtml"> 
     <head> 
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title> 
      </title> 
      <style type="text/css"> 
       .cs2654AE3A{text-align:left;text-indent:0pt;margin:0pt 0pt 0pt 0pt} 
       .csC8F6D76{color:#000000;background-color:transparent;font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;} 
      </style> 
     </head> 
     <body> 
      <p class="cs2654AE3A"><span class="csC8F6D76">New claim declaration by HD team 00015371</span></p></body> 
    </html> 

enter image description here

+0

查看我的答案在http://stackoverflow.com/a/41089093/217408关于DomSanitizer –

+0

我看到这行:

它看起来像你试图做双重插入。试试这个:
。 – Jviaches

回答

1

更改您的代码并再次尝试:

<p *ngIf="action.isHtml"> 
     <div [innerHTML]="action.content"></div>            
</p> 
<p *ngIf="!action.isHtml"> 
     {{action.content}} 
</p> 

您应该使用innerHTML="{{action.content}}"[innerHTML]="action.content"但不是[innerHTML]="{{action.content}}"

+0

不起作用,我已经试过了。 – kostas

+0

请您提供action.content。 –

+0

我发布了一个答案,因为它太长了 – kostas