我有一个显示类似于电子表格的用户界面的组件。有很多元素通过两种方式将 [(ngModel)] 绑定(bind)到可变对象。
一旦输入数量超过 100 个左右,用户界面就会变得迟钝。分析器以 Decimal 格式(十进制管道)显示大量时间。
我可以想到几个可能的解决方案:
- 以某种方式使用不可变对象(immutable对象)?
- 自定义双向数据绑定(bind)?
我不使用 ChangeDetectionStrategy OnPush,但我很好奇这将如何提供帮助以及如何在 html 输入上使用 [(ngModel)] 实际实现它。
最佳答案
页面上的许多输入字段对 CPU 和用户来说都是有压力的。
与其同时显示包含多个输入字段的电子表格,不如让单元格仅在获得焦点时成为输入字段,否则仅显示单元格的值。在输入中使用 *ngIf 检查当前正在编辑的单元格。
通过这种方式,您应该能够保留所需的功能,但通过仅将焦点电子表格单元格作为输入 - 这应该会提高页面的性能。
关于performance - Angular2 性能,具有大量输入元素和双向绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41110204/