请考虑以下模块结构:
page-content.module.ts
@NgModule({
declarations: [
PageContentComponent
],
exports: [
PageContentComponent
],
imports: [
CommonModule,
],
})
export class PageContentModule { }
markup.module.ts
@NgModule({
imports: [
PageContentModule,
]
})
export class MarkupModule { }
所以我有 MarkupModule ,它导入了 PageContentModule ,并最终导出了 PageContentComponent 。
现在,我将与 PageModule 一起创建一个新的 PageComponent 组件,我想在其中使用 PageContentComponent
page.module.ts
@NgModule({
declarations: [PageComponent],
bootstrap: [PageComponent],
imports: [
CommonModule,
MarkupModule,
]
})
export class PageModule { }
这是一个问题,通过导入 MarkupModule ,我假定还将导入 PageContentModule 及其 exports 选项。但这没有发生,编译器说
“页面内容”不是已知元素
而且我必须导入 PageContentModule
问题是-我是否弄错了,应该是这样,还是代码中有错误。我的意思是,如果导入 MarkupModule -所有子模块也都应该导入,从而暴露所有导出的组件。
答案 0 :(得分:2)
您应该通过以下导出方式在MarkupModule中导出PageModule:[.....,PageModule] 因为每个模块都有自己的作用域,并且默认情况下不会重新导出其他模块。