Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.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
Jquery 如何在angular 2项目中刷新查询数据表?_Jquery_Angular_Datatables - Fatal编程技术网

Jquery 如何在angular 2项目中刷新查询数据表?

Jquery 如何在angular 2项目中刷新查询数据表?,jquery,angular,datatables,Jquery,Angular,Datatables,我有一个角度项目,其中有一个表来显示数组中的数据。起初,我开始使用角度表,但这是非常缓慢。我现在添加了一个jquerydatatable(datatables.net),它实际上呈现得非常快。除了一件事,所有的事情(排序、分页)似乎都很好。在数组更改时刷新表。我将演示一些简单的代码,向您展示我的意思 该表在对象数组上的简单*ngFor循环上迭代: <table id="myTable"> ... <tr *ngFor="let currentRow of currentArra

我有一个角度项目,其中有一个表来显示数组中的数据。起初,我开始使用角度表,但这是非常缓慢。我现在添加了一个jquerydatatable(datatables.net),它实际上呈现得非常快。除了一件事,所有的事情(排序、分页)似乎都很好。在数组更改时刷新表。我将演示一些简单的代码,向您展示我的意思

该表在对象数组上的简单*ngFor循环上迭代:

<table id="myTable">
...
<tr *ngFor="let currentRow of currentArray">
...
</table>
在筛选数组后调用此函数。但是不,它不会刷新我的桌子。不,它不是一个ajax调用,只是一个被过滤的对象数组


有人知道如何在angular 2解决方案中刷新jQuery表吗?

这是一种很糟糕的做法,通常将angular与jQuerry混合使用,没有理由不执行angular表,除非您做了一些不需要的事情。但是,解决当前问题的一个方法是手动调用更改检测,方法是在构造函数中导入私有cdr:ChangeDetectorRef,然后在函数调用之后调用它来过滤cdr.detectChanges()。我很清楚这种不好的做法。但是如果你在这个问题上快速搜索一下,你会发现很多人都很难适应棱角分明的桌子和糟糕的表现。它渲染得太慢了。另一方面,jQuery渲染速度很快。所以。。。回到我的问题上来。是的,我已经试过了。不起作用。然后将currentRow放入行为主题中,并使用模板中的异步管道订阅它。每次进行筛选时,都会将新的筛选数组推送到bsubject。
var table = $('#myTable').DataTable();
table.draw()