Javascript (点击)=;foo();在数据表中不工作
下面是我的datatable的代码Javascript (点击)=;foo();在数据表中不工作,javascript,angular,Javascript,Angular,下面是我的datatable的代码 datatable [options]="{ colReorder: true, ajax: 'assets/api/tables/admin-list.json', columns: [ {data: 'id'}, {data: 'name'}, {data: 'username'}, {data: 'adminRole'}, {data: 'siteId'},
datatable [options]="{
colReorder: true,
ajax: 'assets/api/tables/admin-list.json',
columns: [
{data: 'id'},
{data: 'name'},
{data: 'username'},
{data: 'adminRole'},
{data: 'siteId'},
{defaultContent: '<button **(click)=\'foo()\'**>Edit</button>'},
{defaultContent: '<button>Delete</button>'}
]}"
paginationLength="true"
tableClass="table table-striped table-bordered table-hover"
width="100%">
datatable[选项]=”{
colReorder:是的,
ajax:'assets/api/tables/admin list.json',
列:[
{data:'id'},
{data:'name'},
{数据:'用户名'},
{data:'adminRole'},
{data:'siteId'},
{defaultContent:'编辑'},
{defaultContent:'删除'}
]}"
paginationLength=“true”
tableClass=“表格带条表格带边框表格悬停”
宽度=“100%”>
在这段代码中,角度单击事件是不绑定的
我被困在这一部分
任何解决方案?都不起作用,因为angular无法绑定到
单击
,因为代码是动态生成的,angular的编译器没有将其编译为angular组件,它将成为普通html(字符串)
最好的解决方案是以正常的javascript方式使用
或者您可以为它们分配一个类,然后使用addEventListener
对这些类进行分配
<button class="myButtons">
否则,您必须使用viewContainer
并将按钮作为模板动态加载,这可能会非常痛苦
ngAfterViewInit(){
document.getElementsBytClassName('myButtons').addEventListener('click',foo)
}