【问题标题】:Angular2 innerHtml removes stylingAngular2 innerHtml 删除样式
【发布时间】:2017-02-09 05:06:47
【问题描述】:

我正在使用 innerHtml 并在我的 cms 中设置 html 响应似乎还可以,如果我像这样打印它: {{ poi.content }}

它给了我正确的内容: `

<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" 时,它会返回这个 html:

<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] 时它会剥夺我的样式

【问题讨论】:

标签: angular typescript angular2-template


【解决方案1】:

Angular2 清理动态添加的 HTML、样式、...

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

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

【讨论】:

  • 未处理的承诺拒绝:EXCEPTION: Can't resolve all parameters for Safe: (?). platform-browser.umd.js:2347 EXCEPTION: Can't resolve all parameters for Safe: (?).BrowserDomAdapter.logError 也找不到名称 DomSanitizer
  • 我必须导入 import DomSanitizer 吗?
  • 是的,您必须导入您使用的每种类型。您还需要在NgModule 中将Safe 添加到declarations。如果DomSanitizer 不起作用,请尝试将其更改为Sanitizer。我已经看到它提到这可以代替。
  • 喜欢这个 import {DomSanitizationService} from '@angular/platform-b​​rowser';?还是 DomSanitizer?因为 DomSanitizer 无法识别
  • 谢谢它正在工作我必须更新我的角度,因为在我的情况下我使用DomSanitizationService
猜你喜欢
  • 2017-01-30
  • 1970-01-01
  • 1970-01-01
  • 2013-09-16
  • 2017-11-17
  • 2016-07-15
  • 2013-06-28
  • 2010-12-28
  • 2011-02-08
相关资源
最近更新 更多