在父模块中使用延迟加载的组件?

时间:2018-11-16 23:23:05

标签: angular angular5

我有一个父模块(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中,但是没有运气。

如何在父组件中使用延迟加载的组件?

1 个答案:

答案 0 :(得分:3)

不,您不能在父模块中使用子延迟加载模块中的组件。

在这些情况下,您应该做的是制作第三个模块(SharedModule),该模块将具有两个模块中用于组件的组件。然后将第三个模块导入父子模块,该第三个模块将不会被延迟加载。

此页面https://angular.io/guide/sharing-ngmodules中的文档中有关于此的有用信息。

希望这会有所帮助!