Many Modules using the same component causes error - Angular 2
Yes, components can be declared only in one module, and nor are their access inherited in any way, meaning declaring it in the main app module will not give you access to it in any other module.
If you have a component that is used by other modules, generally they way to go is to put it in a shared module
Include component in a shared module:
@NgModule({
declarations: [ SharedComponent ],
exports: [ SharedComponent ]
})
export class SharedModule {}
How to use the shared module elsewhere:
@NgModule({
imports: [ SharedModule ]
})
class ModuleWithComponentThatUsesSharedComponent {}
See Also
- Angular2 How to clean up the AppModule
If you want to use the GoComponent across multiple modules, you should be created a "shared" module and add the GoComponent to the shared module's exports. Then you import shared module into your other modules where you want to use this component.
Find out more information at here
Hope this help!