Ionic 3 открытый модал получает ошибку не объявлен в компоненте ввода, но он уже существует - PullRequest
0 голосов
/ 20 апреля 2019

У меня есть следующий модальный в ионном 3:

import {NgModule} из '@ angular / core';import {IonicPageModule} из 'ionic-angular';import {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 ОШИБКА Ошибка: невыполненная (в обещании): Ошибка: не найдена фабрика компонентов для [объекта объекта].Вы добавили его в @ NgModule.entryComponents?Ошибка: не найдена фабрика компонентов для [object Object].Вы добавили его в @ NgModule.entryComponents?

Я пытался добавить его во входной компонент app.module.ts, но получил следующую ошибку:

LoginModalModuleобъявлен в 2-х компонентах

1 Ответ

1 голос
/ 21 апреля 2019

Чтобы использовать его в AppComponent, необходимо добавить его declarations и entryComponents в AppComponent.ts файле

Добавьте это в AppComponent.ts,

declarations: [
  MyApp,
  HomePage,
  LoginModalPage
]

entryComponents: [
  LoginModalPage
]

добавить это к вашему LoginPageModule

exports: [ LoginPageModal ]

согласно определению entryComponents

Указывает список компонентов, которые должны быть скомпилированы при определении этого модуля. Для каждого из перечисленных здесь компонентов Angular создаст ComponentFactory и сохранит его в ComponentFactoryResolver.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...