在数据表中,如果我在“ columnDefs”中调用该方法,则它不起作用

时间:2018-08-13 06:31:57

标签: angular datatables

我试图集成数据表,所以我按照下面的代码添加了columndef,但是在columndefs中,“ deleteMember()”方法不起作用。

"columnDefs":[
            {
                'targets':7,
                'render': function (data, type, row) {
                    return `<span class="btn-cursor-pointer swal-btn-cancel" member_id="${row.id}" (click)="deleteMember(${row.id})"><i class="i_delete fa fa-trash"></i></span>`;
                }
            }
        ]

2 个答案:

答案 0 :(得分:0)

您的Typescript代码已已编译:这意味着当您编写(click)="x()"时,一旦CLI起作用,它将被呈现为有效的JS,例如onclick="x()"

在您的情况下,您要提供一个字符串:在代码编译后完成。这意味着它将永远无法工作。

为此,您将必须创建Windows函数,将其绑定到自己的组件函数,并在其上绑定click事件。

答案 1 :(得分:0)

它是一个jQuery数据表,因此无法使用角度代码

所以我现在使用jquery来做到这一点

var self = this;
    jQuery('#membersDatatable').on('click', '.delete-member', ($event) =>{
        var member_id = $($event.currentTarget).attr('member_id');
        self.deleteMember(member_id);
    })