Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
lazy中的Angular2共享/核心模块_Angular_Design Patterns_Angular2 Modules - Fatal编程技术网

lazy中的Angular2共享/核心模块

lazy中的Angular2共享/核心模块,angular,design-patterns,angular2-modules,Angular,Design Patterns,Angular2 Modules,我有4个功能模块,将加载懒惰。 具有多个弹出窗口组件,这是功能模块所需的。 目前,我已经创建了一个共享模块,该模块将导出这些组件,每个功能模块将导入该共享模块。 这种设计的权衡是,共享模块将包含在所有功能包中。问题是某些功能模块中不需要某些弹出组件 有什么想法吗?或者,您可以为每个弹出组件创建一个模块,然后只导入包含您实际想要使用的组件的模块。根据我所知道的最佳实践,SharedModule应该具有指令、管道和共享组件 您的问题实际上取决于这些所谓的小部件组件被导入的频率以及它们的大小 如果它们

我有4个功能模块,将加载懒惰。 具有多个弹出窗口组件,这是功能模块所需的。 目前,我已经创建了一个共享模块,该模块将导出这些组件,每个功能模块将导入该共享模块。
这种设计的权衡是,共享模块将包含在所有功能包中。问题是某些功能模块中不需要某些弹出组件


有什么想法吗?

或者,您可以为每个弹出组件创建一个模块,然后只导入包含您实际想要使用的组件的模块。

根据我所知道的最佳实践,SharedModule应该具有指令、管道和共享组件

您的问题实际上取决于这些所谓的小部件组件被导入的频率以及它们的大小

如果它们很小,并且经常被许多其他模块使用,那么当然可以将它们放在SharedModule中。在SharedModule中使用组件并不意味着您应该在其他模块中使用它们。只是它们足够常见,可以放在SharedModule中


如果它们很大,并且没有被大多数其他模块导入,那么您可能希望将它们视为功能模块,并在需要时导入它们

问题是某些功能模块中不需要某些弹出组件。为什么这是个问题?你认为一个更好的方法是什么?假设我有一个A,B,C组件和1,2,3个特征模块。1模块中需要a和b。模块2需要b和c,模块3需要所有a,b,c组件是的,我就是这么想的。但是我想知道是否有更好的方法可以做到这一点。您仍然可以创建一个导出多个其他模块的模块。通过这种方式,您可以通过一次导入获得一组模块。然后模块中的所有导入都将添加到bundle中,对吗?不确定您对to bundle的含义。您可以单独添加小模块,也可以一次添加一组模块。当我分析包时,它显示这些模块将位于所有包中。我认为这很正常