我有一个父模块(app.module)和一个子模块(contacts.module)。子模块是延迟加载的。父模块利用子模块中的组件,但是当我导航到子路由时,出现错误:
'app-contacts-home' is not a known element:
1. If 'app-contacts-home' is an Angular component, then verify that it is part of this module.
2. If 'app-contacts-home' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to
很明显,该组件不是父模块的一部分,因为它是延迟加载的。我尝试将app-contacts-home
作为entryComponent
添加到contacts.module中,但是没有运气。
如何在父组件中使用延迟加载的组件?
答案 0 :(得分:3)
不,您不能在父模块中使用子延迟加载模块中的组件。
在这些情况下,您应该做的是制作第三个模块(SharedModule),该模块将具有两个模块中用于组件的组件。然后将第三个模块导入父子模块,该第三个模块将不会被延迟加载。
此页面https://angular.io/guide/sharing-ngmodules中的文档中有关于此的有用信息。
希望这会有所帮助!