我正在尝试开发可用于任何项目的日期选择器组件。
我有一个包含组件的 NgModule,我将 IonicModule 注入其中,以便它可以使用 ionic2 的所有组件/指令。
@NgModule({
imports: [
CommonModule,
IonicModule.forRoot(DatePickerModule)
],
exports: [DatePickerComponent, DatePickerDirective],
entryComponents: [DatePickerComponent],
declarations: [DatePickerComponent, DatePickerDirective],
providers: [DateService, nls]
})
export class DatePickerModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: DatePickerModule
};
}
};
其中一个组件注入离子模态控制器以显示模态。
export class MainDirective{
public static config:any;
constructor(private modalCtrl:ModalController) {
}
openModal() {
this.modalCtrl.create(DatePickerComponent
).present();
}
}
这个 NgModule 被导入到另一个应用程序中,我试图从那个应用程序调用 openModal。这就是我导入的方式
@NgModule({
imports: [
IonicModule.forRoot(App),
DatePickerModule.forRoot(),
],
})
发生的情况是它从 ionic-angular 库中抛出未定义的错误“_getPortal”。我猜它找不到要显示的应用程序。
我也猜想我需要将可以工作的实际应用程序传递给 forRoot,但我不知道该怎么做。
解决这个问题的最佳方法是什么?