Angular2设计 - 组件嵌套和性能风险

时间:2016-05-04 12:02:53

标签: angular

当我必须构建具有许多功能的复杂页面时,我经常会得到一个设计,它预见复杂页面是一系列 simpler的组合组件,也可能是一个组成更简单的组件(换句话说,我说的是多个级别的嵌套组件)。

这样的更简单的组件不是为了可重用性而构建的(没有其他页面可以使用它们),而是尝试使代码更易于阅读和理解(这仍然是一件好事)。

无论如何,我的问题是预测通过构图和不同嵌套级别构建页面的设计是否可能会严重影响性能,因此需要仔细观察。

我认为这个问题可能听起来有点模糊,但我基本上想知道嵌套组件是否是Angular2应用程序性能的严重风险。我说的是合理数量的嵌套级别(比如3-4级)和功能丰富度不能降低的页面(即不嵌套的页面必须在首页)。

我希望这个问题看起来不太天真。

提前致谢

1 个答案:

答案 0 :(得分:5)

完全没有。我认为嵌套可以提高性能。特别是如果您使用ChangeDetectionStategy.OnPush微调变化检测。这样就可以限制Angular需要运行变更检测的范围,直到您明确告诉Angular进行检查。

使用Angular2 univeral通过Angular或服务器端渲染提供(或已经)的构建步骤也将减少Angular在加载页面时必须执行的初始工作量,并通过替换反射代码来构建DOM用于生成代码的绑定和其他东西。