Javascript 呈现动态html后angular click()事件不起作用
从服务器端加载的html元素很少,angular click()事件也是其中的一部分。但事件在渲染元素后不会触发。我知道我需要通知DOM。我不能这样做 组件。tsJavascript 呈现动态html后angular click()事件不起作用,javascript,angular,Javascript,Angular,从服务器端加载的html元素很少,angular click()事件也是其中的一部分。但事件在渲染元素后不会触发。我知道我需要通知DOM。我不能这样做 组件。ts mport { Component} from '@angular/core'; @Component({ selector: 'app-root', templateUrl: '../Views/Dashboard.html', providers: [] }) export class Dashboard
mport { Component} from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: '../Views/Dashboard.html',
providers: []
})
export class DashboardComponent {
public deviceData="<div (click)="Go()">Click</div>"; //e.x: loaded from server
constructor(){
}
Go():void{
alert("Go");
}
}
mport{Component}来自“@angular/core”;
@组成部分({
选择器:'应用程序根',
templateUrl:“../Views/Dashboard.html”,
提供者:[]
})
导出类仪表板组件{
public deviceData=“单击”//e.x:从服务器加载
构造函数(){
}
Go():无效{
警惕(“围棋”);
}
}
html
<div [innerHTML]="deviceData"></div>
要呈现为html的单击函数(或任何特定角度的标记)不是最佳做法。尝试只渲染基本html,并将单击功能单独放入。将单击功能(或任何特定角度的标记)渲染为html不是最佳做法。尝试仅呈现基本html,并将单击功能单独放入。您可以使用
<div class="classname" [innerHTML]="deviceData"></div>
this.deviceData = "<a herf='javascript:void(0);'>Click</a>";
ngOnInit()
{
var obj=this;
$(document).on('click', '.classname', function () {
obj.Go();
});
}
Go()
{
alert("Go");
}
this.deviceData=“单击”;
恩戈尼尼特()
{
var obj=这个;
$(文档).on('click','classname',函数(){
obj.Go();
});
}
Go()
{
警惕(“围棋”);
}
您可以使用
<div class="classname" [innerHTML]="deviceData"></div>
this.deviceData = "<a herf='javascript:void(0);'>Click</a>";
ngOnInit()
{
var obj=this;
$(document).on('click', '.classname', function () {
obj.Go();
});
}
Go()
{
alert("Go");
}
this.deviceData=“单击”;
恩戈尼尼特()
{
var obj=这个;
$(文档).on('click','classname',函数(){
obj.Go();
});
}
Go()
{
警惕(“围棋”);
}
你在哪里读到它应该有用?@AngularInDepth.com不能写这样的东西,你有什么解决办法吗,我需要帮助。你在哪里读到它应该有用?@AngularInDepth.com不能写这样的东西,你有什么解决办法吗,我需要帮助。我感谢你的回答@Manish,但是jquery的角度有点太大了。谢谢,让我试一下你给出的代码片段。thanx..要使用jquery,你必须写“declare var$:any;”这一行到typing.d.ts这应该是公认的答案,它解决了问题。我很感激你的答案@Manish,但是jquery的工作量太大了。谢谢,让我尝试一下您给定的代码片段。thanx..使用jquery时,您必须编写“declare var$:any;”这一行到typing.d.ts这应该是公认的答案,它解决了问题