Javascript 使用DomSanitizer时,Angular2停止(单击)工作

Javascript 使用DomSanitizer时,Angular2停止(单击)工作,javascript,angular,typescript,angular-dom-sanitizer,Javascript,Angular,Typescript,Angular Dom Sanitizer,我在用Angular2和typescript 我有一个管道,可以很好地渲染HTML。 问题是DomSanitizer似乎停止了click事件的工作 当我在console.log F12中检查HTML时,单击代码似乎在那里,并且没有被删除 但当我点击链接时,它什么也不做 这是它调用my component中函数的链接示例: 这是HTML的一行: 如果您需要查看更多代码,请告诉我 <a (click)="recordLinkClick()" target="_blank" href="#"&g

我在用Angular2和typescript

我有一个管道,可以很好地渲染HTML。 问题是DomSanitizer似乎停止了click事件的工作

当我在console.log F12中检查HTML时,单击代码似乎在那里,并且没有被删除

但当我点击链接时,它什么也不做

这是它调用my component中函数的链接示例:

这是HTML的一行:

如果您需要查看更多代码,请告诉我

<a (click)="recordLinkClick()" target="_blank" href="#">Test link</a>
如果希望此锚由innerHTML放入,则在将其放入DOM之前,如果未编译html,则不会注册它


这里介绍了为angular 2动态编译html的步骤:

似乎我需要在将html放入DOM之前编译它。不过还不知道怎么做。有什么想法吗?你找到解决问题的办法了吗?我有同样的问题,没有得到任何解决办法。
import { Pipe } from '@angular/core';
import { DomSanitizer, SafeHtml, SafeStyle, SafeScript, SafeUrl, SafeResourceUrl } from '@angular/platform-browser';

@Pipe({
  name: 'safe'
})
export class SafePipe {

  constructor(protected _sanitizer: DomSanitizer) {

  }

  public transform(value: string, type: string = 'html'): SafeHtml | SafeStyle | SafeScript | SafeUrl | SafeResourceUrl {
    switch (type) {
      case 'html': return this._sanitizer.bypassSecurityTrustHtml(value);
      case 'style': return this._sanitizer.bypassSecurityTrustStyle(value);
      case 'script': return this._sanitizer.bypassSecurityTrustScript(value);
      case 'url': return this._sanitizer.bypassSecurityTrustUrl(value);
      case 'resourceUrl': return this._sanitizer.bypassSecurityTrustResourceUrl(value);
      default: throw new Error(`Invalid safe type specified: ${type}`);
    }
  }

}
<div [innerHTML]="selectedArticle.body | safe: 'html'"></div>   
<a (click)="recordLinkClick()" target="_blank" href="#">Test link</a>