我试图将单击事件传递给使用 DomSanitizer 呈现的按钮。但是单击按钮时不会调用有界方法。
组件.ts
export class MyComponent {
htmlElement = '<button class="btn btn-primary" (click)="onClick()">Add</button>';
onClick() {
console.log('submitted');
}
}
组件.html
<div [innerHtml]="htmlElement | sanitizer"></div>
管道.ts
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
@Pipe({
name: 'sanitizer'
})
export class SanitizerPipe implements PipeTransform {
constructor(private _sanitizer: DomSanitizer) {}
transform(v: string): SafeHtml {
return this._sanitizer.bypassSecurityTrustHtml(v);
}
}
按钮以样式正确显示。但是点击事件没有被触发。
是否有任何解决方案或替代解决方案?