Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript (点击)=;foo();在数据表中不工作_Javascript_Angular - Fatal编程技术网

Javascript (点击)=;foo();在数据表中不工作

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的代码

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)
}