将Angular缩放到大量组件

时间:2017-04-25 12:33:56

标签: angular

我目前正在使用Angular(v4)来构建一个基本上属于工作组合的Web应用程序。每次进入投资组合很可能需要自己的组件。问题在于,投资组合中的条目数量可以达到数百个,而且每次创建新组件时我都不希望向模块添加组件。搜索显示以下可能性来解决我的问题:

我已经看过modules的延迟加载:

即使动态加载components

即使这个堆栈溢出question

所有这些解决方案都要求组件存在于组件中。

但我设法找到了这个plunker,它根据组件名称和组件路径将组件作为字符串加载。不幸的是,这是基于一个非常年轻的角度2。

理想情况下,最好从URL中提取参数,然后可以使用加载所需组件及其关联类。这是最好的选择吗?类似于解决方案是上面的plunker但更新到角4?

1 个答案:

答案 0 :(得分:0)

据我了解,由于您的投资组合中的不同条目必须是组件,您需要将它们添加到模块中。

你有两种不同的方法可以解决这个问题。我认为有两个主要选择:

<强> 1。为每个组件创建路线

这仍然需要您在模块导入数组中注册所有组件

<强> 2。利用动态组件加载

此方法允许您在运行时将组件动态加载到模板中。设置工作要多得多,但不应该做大事。 The official documentation has a great guide on it。请记住,组件仍然必须注册到您的模块条目组件数组中 - 所以您无法远离它。

清理主模块, - ,因为您担心主模块中有如此多的导入组件 - 您可以将组件导入提取到单独的模块中将该模块再次导入主模块。这不会导致总进口量减少,但会导致更清洁的模块结构。