以下是我的以下数据表代码
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%">
在此代码中,角点击事件不是绑定
我被困在这一部分 任何解决方案..?
答案 0 :(得分:1)
这不起作用,因为angular不能绑定到click
,因为代码是动态生成的,而Angular的编译器不会将其编译为Angular组件,它将成为正常的html(字符串)。 / p>
您最好的解决方案是以正常的JavaScript方式使用<button onCLick="foo()">
。
或者您可以为它们分配一个类,然后将addEventListener
用于这些类。
<button class="myButtons">
在组件类中:
ngAfterViewInit(){
document.getElementsBytClassName('myButtons').addEventListener('click',foo)
}
否则你必须朝着使用viewContainer
的方向前进,并动态地将按钮作为模板加载,这可能会非常痛苦。