Я хочу использовать компонент Angular в нескольких частях моего приложения, в том числе в компоненте внутри модуля с отложенной загрузкой. Я не знаю, как объявить компонент для его использования в ленивом модуле. Я покажу вам некоторые важные части разных файлов:
app.module.ts
import { FpgTimeComponent } from './fpgTime/fpg-time.component';
@NgModule({
declarations: [
AppComponent,
(...)
FpgTimeComponent
app.routing.ts
const appRoutes: Routes = [
{ path: '', redirectTo: 'customer', pathMatch: 'full' },
{
path: 'customer',
component: CustomerComponent
},
{
path: 'lazy',
loadChildren: 'app/lazy/lazy.module#LazyModule'
}
];
lazy.module.ts
import { FpgTimeComponent } from '../fpgTime/fpg-time.component';
import { LazyComponent } from './lazy.component';
import { routing } from './lazy.routing';
@NgModule({
imports: [routing],
declarations: [
LazyComponent,
FpgTimeComponent
]
})
Приложение загружается, но когда я перехожу на ленивый маршрут, возникает следующая ошибка:
Неперехваченный (в обещании): Ошибка: Тип FpgTimeComponent является частью объявлений двух модулей: AppModule и LazyModule! Пожалуйста, подумайте о перемещении FpgTimeComponent в модуль более высокого уровня, который импортирует AppModule и LazyModule. Вы также можете создать новый NgModule, который экспортирует и включает FpgTimeComponent, а затем импортировать этот NgModule в AppModule и LazyModule.
Я никуда не импортирую LazyModule, так как он загружается лениво. Итак, как я могу объявить компонент FpgTimeComponent, чтобы иметь возможность использовать его внутри ленивого модуля (а также в неленивых компонентах)?
Заранее спасибо,