javascript - 大表的Angular 6性能问题
问题描述
我对 Angular 6 性能问题有疑问。在页面中有一个大表,它有 100 行,每行有 100 列。然后,当我尝试使用 ng-select 或 ng-bootstrap datepicker 等库时,此页面有点滞后。即使这些库与 table 没有数据交换。这意味着即使 ng-select 只是嵌入在 HTML 中并且没有填充数据,ng-select 下拉菜单的打开和关闭也是滞后的,加载大约需要 0.5 秒。与其他库相同。当我将表减少到 10 行时,滞后问题得到了显着改善。为什么会这样?
另一个观察结果是,当我使用 HTML 的原生标签(例如 select 选项)时,它一点也不滞后,它会立即做出反应。如何在我的情况下提高性能?谢谢!代码基本上是这样的。
应用组件:
<ng-select></ng-select>
<row-component *ngFor="let basket of baskets"></row-component>
行组件:
<div *ngFor="let apple of apples">
blah blah blah
</div>
解决方案
您是否对表格使用任何库,例如 Angular Material?一种可能(并且非常常见)的解决方案是虚拟滚动: https ://material.angular.io/cdk/scrolling/overview#virtual-scrolling
推荐阅读
- angular - 网络插件在 PWA 应用程序 Ionic 4 上不起作用
- ajax - ajax在IE中不传参数
- python - Python:如何在函数调用周围动态放置一个循环?
- go - Vgo build 触发“未知指令:go”?
- javascript - 自定义功能用户不醒来的角色,嵌套查询,prisma graphql
- java - 将物品收集到 Guava Multimap
- c# - 使用 IEnumerable 连接 LINQ To SQL
- yii - Yii2 RBAC 只允许管理员后台访问
- c++ - Linux上的键盘键码表
- git - git reset HEAD 文件名有什么作用?