如何加载那些在另一个组件/模块中使用的延迟加载的模块/组件?
假设有3个以下的模块,其中login和home正在加载延迟加载 .
-
AppModule(主)
-
LoginModule
-
HomeModule
现在,我已经创建了另一个模块lib模块,它包含很少的自定义组件,如网格,按钮等 . 这些组件将被家庭或其他模块的组件使用,永远不会直接从任何路由使用 .
这里,如果将lib模块导入到主页和其他模块中,则会在每个块文件中复制它 .
有没有办法延迟加载lib模块以及没有重复代码的路由?
我还试图将lib导入到app模块中,但它不能处理家庭模块的延迟加载,并且会出现错误,如果'grid'是Angular组件,则验证它是否是此模块的一部分 .
2 回答
下面的文章帮助解决了一个问题 .
https://angular-2-training-book.rangle.io/handout/modules/shared-di-tree.html
由于这个模块不是任何路由的一部分,因此在我看来是一种共享模块 . 并且您的共享模块应该只在整个应用程序中导入一次 .
您应该将核心模块导入主模块,其中装饰器为@optional和@SkiptoSelf,这将确保在整个应用程序中仅加载模块一次 .