*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>
答案 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