如何在Angular2中绑定原始html

fbe*_*oit 71 angular

我使用Angular 2.0.0-beta.0,我想直接创建和绑定一些简单的HTML.是可能的,怎么样?

我试着用

{{myField}}
Run Code Online (Sandbox Code Playgroud)

但myField中的文本将被转义.

对于Angular 1.xi发现了ng-bind-html的命中,但这似乎不支持2.x.

弗兰克

Gün*_*uer 161

绑定到innerHTML属性

有两种方法可以实现:

<div [innerHTML]="myField"></div>
<div innerHTML="{{myField}}"></div>
Run Code Online (Sandbox Code Playgroud)

将传递的HTML标记为受信任,以便Angulars DOM清理程序不会删除部分内容

<div [innerHTML]="myField | safeHtml"></div>
Run Code Online (Sandbox Code Playgroud)

用管子

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

  transform(value: any, args?: any): any {
    return this.sanitizer.bypassSecurityTrustHtml(value);
    // return this.sanitizer.bypassSecurityTrustStyle(style);
    // return this.sanitizer.bypassSecurityTrustXxx(style); - see docs
  }
}
Run Code Online (Sandbox Code Playgroud)

另请参见在RC.1中,无法使用绑定语法添加某些样式