Каждые лениво загруженные страницы являются независимыми модулями.Базовый модуль «Ленивые страницы» выглядит следующим образом.
@NgModule({
declarations: [
TestPage,
],
imports: [
IonicPageModule.forChild(TestPage),
],
})
export class TestPageModule {}
Объявлен TestPage
.И импорт имеет IonicPageModule.forChild()
, который фактически возвращает ngModule
, который импортирует IonicModule
.Из источника
@NgModule({
imports: [IonicModule],
exports: [IonicModule]
})
export class IonicPageModule {
static forChild(page: any): ModuleWithProviders {
return {
ngModule: IonicPageModule,
providers: [
{ provide: <any>LAZY_LOADED_TOKEN, useValue: page },
{ provide: ANALYZE_FOR_ENTRY_COMPONENTS, useValue: page, multi: true },
]
};
}
}
Но я не вижу IonicModule частью каждого пакета.Почему ионные компоненты и директивы, входящие в состав IonicModule, не входят в состав каждого лениво загруженного модуля?И можем ли мы сделать это с нашими собственными компонентами, чтобы избежать дублирования кода?