Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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/7/css/38.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
Html 在大数据的ng重复性能下提高angular js ng类性能_Html_Css_Angularjs - Fatal编程技术网

Html 在大数据的ng重复性能下提高angular js ng类性能

Html 在大数据的ng重复性能下提高angular js ng类性能,html,css,angularjs,Html,Css,Angularjs,我正在做一个angularJS项目。我试图使用ng repeat在视图中用5000到9000行显示主json数据中的一部分数据。有一个表数据标记,用于使用css图像显示复选框或单选按钮。代码如下 <tr ng-repeat="o in main[menu].options" > <td style="width:10%;" class="radio" ng-class="{checked: main[menu][active].active === o.instan

我正在做一个angularJS项目。我试图使用ng repeat在视图中用5000到9000行显示主json数据中的一部分数据。有一个表数据标记,用于使用css图像显示复选框或单选按钮。代码如下

<tr ng-repeat="o in main[menu].options" >
 <td style="width:10%;" class="radio" 
    ng-class="{checked: main[menu][active].active === o.instanceId}" 
    ng-click="main[menu][active].active = o.instanceId;"
    ng-if="menu === 'requiredOptionGroups'">
 </td>
 <td>..some other data...</td>
</tr>
我面临的问题是,当用户尝试单击单选按钮或复选框按钮时,在显示选中的图像之前会有明显的延迟

该代码适用于更小的数据

有什么工作可以让我克服延误吗。
我已经在搜索以提高性能,但我们必须向用户显示所有数据

一个小的改进,不知道它是否会加快应用程序的速度,可能是假设您的o.preSelect是布尔值而不是字符串

替换

ng-class="{checked: o.preSelect == 'true'}"
ng-click="o.preSelect = o.preSelect=== 'false'?'true':'false';"


但是对于9000行的表格,浏览器需要做很多事情来更改元素…

一个小小的改进,不知道它是否会加快应用程序的速度,可能是因为假设您的o.preSelect是布尔值而不是字符串

替换

ng-class="{checked: o.preSelect == 'true'}"
ng-click="o.preSelect = o.preSelect=== 'false'?'true':'false';"


但是对于9000行的表格,浏览器需要做很多事情来更改元素…

替换为ng样式。它比ng类快得多,并且引入的开销非常小。希望将来会有所改变。阅读此说明-

替换为ng样式。它比ng类快得多,并且引入的开销非常小。希望将来会有所改变。阅读本文以获得解释-

实际上,主要的json数据是通过将一个大型xml文件转换为json获得的。它不保留数据类型,因此用作字符串。实际上,主要json数据是通过将大型xml文件转换为json获得的。它不保留数据类型,因此被用作字符串。我知道这不是您所要求的,但请尝试使用ng grid,它正是为此而优化的,它通过虚拟滚动显示整个数据集中的约30行,并在滚动时进行渲染,可以轻松显示10k+行,而不费吹灰之力。不妨试试他们的新版本。我知道这不是你要求的,但试试使用ng grid,它正是为此而优化的,它只显示整个数据集中约30行,通过虚拟滚动和滚动时渲染,可以轻松显示10k+行而不费吹灰之力。不妨试试他们的新版本。林克死了。这就是为什么我们需要在你的回答中做出解释:不要抱太大的希望去发现源头已经死了。林克已经死了。这就是为什么我们需要在你的回答中做出解释:不要抱着希望去发现源头已死。
ng-class="{checked: o.preSelect == 'true'}"
ng-click="o.preSelect = o.preSelect=== 'false'?'true':'false';"
ng-class="{checked: o.preSelect}"
ng-click="o.preSelect = !o.preSelect"