![](/img/trans.png)
[英]Angular 5 navigation from one module component to another module component
[英]import one component from module to component of another module
我使用角度6,我有一个media
模块。 我想导入MediaComponent
(在MediaModule
导出)但我有这个错误:
media.module"' has no exported member 'MediaComponent'.
这是MediaModule声明:
@NgModule({
imports: [
CommonModule,
MediaRoutingModule,
MaterialModule
],
declarations: [LayoutComponent, MediaComponent],
exports: [
MediaComponent,
CommonModule
]
})
这是另一个模块声明:
@NgModule({
imports: [
CommonModule,
MaterialModule,
FormsModule,
EM,
EditorRoutingModule,
MediaModule
],
declarations: [ListComponent, CreateComponent, AddimageComponent]
})
从另一个模块中的组件( EditorModule
),这是我的导入:
import { MediaComponent } from '@app/views/media/media.module';
我得到了例外。
注意:当我在EditorModule
上的组件中使用media directive
时,它就是工作文件。 例如, <app-media></app-media>
显示MediaComponent
的内容
确保media.module.ts
导出MediaComponent
类。
export { MediaComponent } from 'path/to/media.component';
您需要在Angular意义和JavaScript意义上从MediaModule导出MediaComponent,这是不同的事情。
您已经在Angular意义上导出了组件,方法是将它包含在模块的@NgModule装饰器的'exports'部分中,但是您还需要在模块文件的末尾添加export {MediaComponent}
,以便import { MediaComponent } from '@app/views/media/media.module';
将工作。
此外,您不应该从模块中导出另一个模块 - 您应该从MediaModule的“导出”部分删除“CommonModule”。
所以,改变
@NgModule({
imports: [
CommonModule,
MediaRoutingModule,
MaterialModule
],
declarations: [LayoutComponent, MediaComponent],
exports: [
MediaComponent,
CommonModule
]
})
export class MediaModule {
}
至:
@NgModule({
imports: [
CommonModule,
MediaRoutingModule,
MaterialModule
],
declarations: [LayoutComponent, MediaComponent],
exports: [
MediaComponent
]
})
export class MediaModule {
}
export {MediaComponent};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.