#angular #ionic-framework #ionic3
#angular #ionic-framework #ionic3
Вопрос:
У меня есть следующая модальность в ionic 3:
импорт { NgModule } из ‘@angular/core’; импорт {IonicPageModule } из ‘ionic-angular’; импорт { LoginModalPage } из ‘./login-modal’;
@NgModule({
declarations: [
LoginModalPage,
],
imports: [
IonicPageModule.forChild(LoginModalPage),
],
entryComponents: [LoginModalPage]
})
export class LoginModalPageModule {}
Я хочу использовать в app.component.ts /html:
import { LoginModalPage } from '../modals/login-modal/login-modal';
import { LoginModalPageModule } from '../modals/login-modal/login-modal.module';
export function init_app(appLoadService: InitializerService) {
return () => {
return appLoadService.initializeApp();
}
}
@NgModule({
declarations: [
MyApp,
HomePage,
],
imports: [
BrowserModule,
IonicModule.forRoot(MyApp, {
preloadModules: true
}),
IonicPageModule.forChild(MyApp),
HttpClientModule,
LoginModalPageModule
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
HomePage
],
providers: [
StatusBar,
SplashScreen,
{provide: ErrorHandler, useClass: IonicErrorHandler},
GatewayService,
UserService,
GlobalVarService,
AuthGuardService,
HttpClient,
InitializerService,
{
provide: APP_INITIALIZER,
useFactory: init_app,
deps: [InitializerService],
multi: true
},
]
})
export class AppModule {}
Но я получил следующую ошибку:
core.js: ОШИБКА 1449 Ошибка: Не обнаружена (в обещании): Ошибка: фабрика компонентов не найдена для [object Object] . Вы добавили ее в @NgModule.Входные компоненты? Ошибка: фабрика компонентов не найдена для [object Object] . Вы добавили ее в @NgModule.Входные компоненты?
Я попытался добавить его в компонент ввода app.module.ts, но получил следующую ошибку:
LoginModalМодуль объявлен в 2 компонентах
Комментарии:
1. Я не уверен, но можете ли вы попробовать добавить экспорт в свой LoginModalPageModule exports: [ LoginModalPage]
Ответ №1:
Чтобы использовать ее в AppComponent
, вам нужно добавить ее в свой declarations
и entryComponents
в свой AppComponent.ts
файл
Добавьте это в свой AppComponent.ts
,
declarations: [
MyApp,
HomePage,
LoginModalPage
]
entryComponents: [
LoginModalPage
]
добавьте это в свой LoginPageModule
exports: [ LoginPageModal ]
в соответствии с определением entryComponents
Задает список компонентов, которые должны быть скомпилированы при определении этого модуля. Для каждого компонента, перечисленного здесь, Angular создаст ComponentFactory и сохранит его в ComponentFactoryResolver .