问题
i have created a shared module and declared & exported the component i need in other modules.
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { DateslideComponent } from './dateslide/dateslide.component';
import { IonicModule } from '@ionic/angular';
import { TimeslideComponent } from './timeslide/timeslide.component';
import { AddtimeComponent } from './addtime/addtime.component'
@NgModule({
declarations: [DateslideComponent, TimeslideComponent, AddtimeComponent],
imports: [
CommonModule,
IonicModule
],
exports: [DateslideComponent, TimeslideComponent, AddtimeComponent]
})
export class TimeModule { }
in another module i have imported the shared module.
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { IonicModule } from '@ionic/angular';
import { WhenPageRoutingModule } from './when-routing.module';
import { WhenPage } from './when.page';
import {TimeModule} from '../../timemodule/time.module';
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
WhenPageRoutingModule,
TimeModule
],
declarations: [WhenPage ]
})
export class WhenPageModule {}
in one of the components of the other module i imported the component from shared module, but i receive the below error
import { AddtimeComponent } from '../../timemodule/time.module'
module declares component locally, but it is not exported.
回答1:
You do not need to import the component again, only import the SharedModule in other modules and feel free to use the component declared && exported in the SharedModule.
import { SharedModule } from '/path/to/SharedModule';
@NgModule({
imports: [
...
SharedModule
]
})
Try to replicate this setup in a Stackblitz or share access to the repository in order to allow us debug your issue and provide you a solution.
EDITED>>Since you are trying to bootstrap the Component in the build process of your Module. Then it is possible that you need to use the EntryComponent to make the component itself to be provideed from bootstrap of the module loaded.
See it in code:
import { SharedModule } from '/path/to/SharedModule';
import { AddtimeComponent } from '/path/to/AddtimeComponent';
@NgModule({
imports: [
...
SharedModule
],
entryComponents: [
AddtimeComponent
]
})
For more information, checkout: https://codinglatte.com/posts/angular/entry-components-angular/
来源:https://stackoverflow.com/questions/60740708/module-declares-component-locally-but-it-is-not-exported