首页 > 解决方案 > Angular将(单击)事件添加到动态HTML标签?

问题描述

标签: angulartypescript

解决方案


我同意@Kokodoko 的观点,可能有更好的方法来完成你想要的。但是,如果要注入 HTML,则需要对其进行清理并使用innerHtml. 例如,在您的打字稿文件中,您将需要执行以下操作:

import { Component } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';

@Component({
  selector: 'my-app',
  templateUrl: './app.component.html',
  styleUrls: [ './app.component.css' ]
})
export class AppComponent  {

  constructor(protected _sanitizer: DomSanitizer) {}

  public info = "Please Download File" + "<a (click)=downloadFile()>Click Here</a>"


  safeHtml(html) {
    return this._sanitizer.bypassSecurityTrustHtml(html);
  }
}

并在您的 HTML 中

<div [innerHTML]="safeHtml(info)"></div>

我创建了一个可以玩的StackBlitz 。


推荐阅读