Angular 4 Ng For Completed Event

时间:2017-08-21 14:27:26

标签: javascript angular ngfor

*ngFor完成时我想调用自定义函数。 (我使用jQuery数据表表。当tr元素完成时我想运行这个函数$('#myTable').dataTables(options);

mycode的:

<tbody>
<tr *ngFor="let company of companies; let last = last;">
    <td>{{company.shortTitle}}</td>
    <td>{{company.shortAddress}}</td>
    <td>{{company.taxOffice}}</td>
    <td>{{company.taxNumber}}</td>
    <td *ngIf="company.eInvoice"><span class="label label-primary">Evet</span></td>
    <td *ngIf="!company.eInvoice"><span class="label label-danger">Hayır</span></td>
    <td>
        <button class="btn btn-primary btn-xs"> <i class="fa fa-edit"></i></button>
        <button class="btn btn-danger btn-xs"> <i class="fa fa-trash"></i></button>
    </td>
</tr>

4 个答案:

答案 0 :(得分:1)

使用ngAfterViewInit生命周期钩子。由于*ngFor是同步的,因此当companies更改时更新DOM,并且ngAfterViewInit生命周期挂钩中将添加添加的DOM节点。

答案 1 :(得分:1)

您可以使用ngAfterViewInit

实现此目的

视图初始化后将执行ngAfterViewInit内的代码

您的代码看起来像

export class className{
 .....
   ngAfterViewInit(){
      //code
   }
 .....
}

答案 2 :(得分:0)

你几乎不应该混合使用Angular和jQuery。如果你正在做,可能你会遇到问题或代码解决方法。

Angular处理DOM以使一切工作,数据表(jQuery版本)插件也是如此,因此发生冲突的时间问题。

我建议你ngx-datatables,但我很确定你可以找到一堆simillar组件。 Angular 4还有一些datatable wrapper

答案 3 :(得分:0)

我用https://l-lin.github.io/angular-datatables/#/getting-started解决了这个问题。 感谢您提供此链接@codtext