【问题标题】:How to bind html into Angular 2.0 [duplicate]如何将 html 绑定到 Angular 2.0 [重复]
【发布时间】:2016-04-11 20:01:27
【问题描述】:

在 Angular 1 中,绑定的工作方式类似于 ng-bind-html="htmlValue"

如何在 Angular 2.0 中绑定 html

【问题讨论】:

  • ng-bind-html 会清理所有内容以防止脚本注入攻击。我认为下面的解决方案没有这样做,但没有尝试过。
  • 是的,你是对的!我用<em onmouseover="this.textContent='PWN3D!'">click here</em>做了一个测试,JavaScript代码实际上是在点击时执行的……

标签: angular ng-bind-html


【解决方案1】:

我认为您可以使用innerHtml 属性并在其上绑定一些东西:

<span [innerHtml]="someHtmlContent"></span>

这是一个示例:

@Component({
  selector: 'first-app',
  template: `
    <span [innerHtml]="value"></span>
  `
})
export class AppComponent {
  constructor(private http:Http) {
    this.value = '<strong>test</strong>';
  }
}

【讨论】:

  • 感谢@thierry 的工作
  • 如果我需要在[innerHtml] 中使用另一个组件怎么办,就像这样,它不起作用&lt;span [innerHtml]="&lt;a [routerLink]="/test"&gt;&lt;/a&gt;"&gt;&lt;/span&gt; 这个路由器链接没有被编译。
  • @Wishnu 虽然有点晚了:在这种情况下,您可以在a 上使用*ngIf 而不是[innerHtml]
猜你喜欢
  • 1970-01-01
  • 2018-08-23
  • 1970-01-01
  • 1970-01-01
  • 2012-10-24
  • 2019-07-08
  • 2014-02-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多