首页 > 解决方案 > Angular2 +每个表格行都是带有onPush的单独组件,它会重新渲染它吗?

问题描述

我有一个超级复杂的表,它由多个子组件(组合列/行与多个按钮和数据字段)、ngClases(计算到高亮与否以及宽度和高度)和不同的交互(多种类型的键盘移动)构成。

现在,当表增长到大约 600 行时,它变得非常慢。我的问题是,如果我将每一行变成一个单独的组件,它有一个 ChangeDetectionStrategy.OnPush,它会在每次发生变化时重新渲染所有内容(ngClass 条件,交互......)还是只重新渲染受改变。如果表格已排序,它会重新渲染并重新计算所有内容,还是只是重新组织现有组件以节省时间?花几天到一周的时间重写表格是否值得?

标签: performanceangular2-templateangular2-changedetection

解决方案


推荐阅读