我有一个组件有一个相当大的菜单,并且对于每个菜单项我有一个不同的表单来显示,将有至少100种不同的形式,预计会有几百个。现在问题是可以导入所有这些表单组件吗?有不同的方式吗?
与此相关的另一件事是,我有一个变量包含所有子组件的有用信息,使用依赖注入提供它是一个好主意,还是应该通过@Input插入所有子组件?
答案 0 :(得分:2)
如果您使用路由器加载表单组件,则可以使用AsyncRoute进行延迟加载。
如果要将值传递给直接子组件或指令,则 @Input
绑定很方便
如果您需要传递给不是直接子节点的组件,则服务仍然有效,而绑定则不然。
我会说,在你的情况下使用更方便的东西。
通过路由器或DynamicComponentLoader添加组件,服务通常更方便。
您可以创建一个查找表(一个用名称
注册所有类型的对象){ MyComponent1: MyComponent1, MyComponent1: MyComponent2, ...}
然后使用字符串名称查看类型。 Angular正在进行预渲染,我想用这种方式一次加载所有组件会更有效。