在Angular 2/4/5和bind事件中从JavaScript添加动态HTML

在Angular 2/4/5和bind事件中从JavaScript添加动态HTML,javascript,angular,datatables,Javascript,Angular,Datatables,我试图通过AJAX向Angular 5应用程序添加新的HTML代码,并向元素添加click事件。但是click事件没有像预期的那样工作,我不能使用双向数据绑定方式,因为我使用的是jQuery数据表插件,他将HTML添加到Dom中,而不是角度模板 我试过: 点击!这条线没用 点击这一行表示myClassFunction未定义 点击这行表示myClassFunction未定义是用类型脚本编写的 当您为应用程序提供服务或构建应用程序时,该typescript应用程序将被编译、缩小并简化为本机Java

我试图通过AJAX向Angular 5应用程序添加新的HTML代码,并向元素添加click事件。但是click事件没有像预期的那样工作,我不能使用双向数据绑定方式,因为我使用的是jQuery数据表插件,他将HTML添加到Dom中,而不是角度模板

我试过:

点击!这条线没用
点击这一行表示myClassFunction未定义

点击这行表示myClassFunction未定义
是用类型脚本编写的

当您为应用程序提供服务或构建应用程序时,该typescript应用程序将被编译、缩小并简化为本机Javascript

这意味着你的

(click)="myClassFunction()"
将成为类似于

onclick="srgu.gferu()"
正如你所看到的,Angular不会意识到这一点

不管你是使用JQuery还是插件:这就是Angular的工作方式

为此,您需要创建窗口函数或全局函数

myClassFunction() {
  // Create your window function, make it tslint compliant
  window['myWindowClassFunction'] = () => {
    // Your function's logic here
  };
}
现在,在附加的HTML中,您需要编写

<button  onclick='window.myWindowClassFunction()'>Click!</button>
点击!

请使用(单击)而不是单击angular对于angular,我认为它是单击的i tryied(单击)不幸的是,我必须用一些jquery来做,但你的答案是正确的,我们不能用angular来做):我刚才向你解释了如何做,所以是的,这是可能的:D但如果你成功了,那就太好了!(不过,将JQuery与Angular一起使用是一种反模式)