performance - Angular2 性能,具有大量输入元素和双向绑定(bind)

标签 performance angular

我有一个显示类似于电子表格的用户界面的组件。有很多元素通过两种方式将 [(ngModel)] 绑定(bind)到可变对象。

一旦输入数量超过 100 个左右,用户界面就会变得迟钝。分析器以 Decimal 格式(十进制管道)显示大量时间。

我可以想到几个可能的解决方案:

  1. 以某种方式使用不可变对象(immutable对象)?
  2. 自定义双向数据绑定(bind)?

使用 ChangeDetectionStrategy OnPush,但我很好奇这将如何提供帮助以及如何在 html 输入上使用 [(ngModel)] 实际实现它。

最佳答案

页面上的许多输入字段对 CPU 和用户来说都是有压力的。

与其同时显示包含多个输入字段的电子表格,不如让单元格仅在获得焦点时成为输入字段,否则仅显示单元格的值。在输入中使用 *ngIf 检查当前正在编辑的单元格。

通过这种方式,您应该能够保留所需的功能,但通过仅将焦点电子表格单元格作为输入 - 这应该会提高页面的性能。

关于performance - Angular2 性能,具有大量输入元素和双向绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41110204/

相关文章:

php - MySQL 选择高效的第一行和最后一行

MySQL性能优化: order by datetime field

angular - No provider for... 使用使用其他自定义服务的服务时出错

angular - 构建后将 Google 字体添加到 Angular 项目

javascript - 健康检查网址不起作用 : Cannot match any routes

python - 优化给定移位的数组距离的成对计算

mysql - 为什么我的多列查询比相应的单列查询慢得多,即使使用多列索引也是如此?

javascript - 缓冲区与字符串速度 : Why is String faster?

angular - 动态安装 Angular 2 指令

angular - Angular 中 i18n 翻译文件的更新