将我的角度版本从4.3.6升级到5.2.4后,AOT编译现在抛出错误:
ERROR in : Cannot determine the module for class InlineAddComponent in .../src/app/core/component/input/inline-add/inline-add.component.ts! Add InlineAddComponent to the NgModule to fix it.
此组件被声明为模块的一部分,在升级之前,一切都在AOT编译中完美运行。我已经尝试了我能想到的一切,从更改声明组件的模块到创建自己的模块并将其导入先前声明它的模块。无论如何,编译器仍然抱怨。
如果其他人有经验或解决了这个问题,我会很感激这种见解。
组件:
import {Component, Inject, Input} from '@angular/core';
import {MAT_DIALOG_DATA, MatDialogRef} from '@angular/material';
import {ActivatedRoute} from '@angular/router';
import {BaseForm} from '../../form/form/BaseForm';
import {FormDataService, FormDataServiceProvider} from '../../form/form/FormDataService';
import {BaseApi} from '../../../api/BaseApi';
@Component({
selector: 'inline-add',
templateUrl: './inline-add.component.html',
styleUrls: ['./inline-add.component.scss'],
providers: [
FormDataServiceProvider
]
})
export class InlineAddComponent extends BaseForm {
@Input() title = 'Entity';
@Input() formName;
protected service: BaseApi;
constructor(
protected route: ActivatedRoute,
protected formDataService: FormDataService,
public dialogRef: MatDialogRef<InlineAddComponent>,
@Inject(MAT_DIALOG_DATA) public data: {
form: string,
title: string,
service: BaseApi,
},
) {
super();
this.title = data.title;
this.formName = data.form;
this.service = data.service;
}
submit() {
super.onSubmit(res => {
this.dialogRef.close(res.data[0]);
});
}
onCancel() {
this.dialogRef.close(false);
}
}
声明模块:
import { NgModule } from '@angular/core';
import {SharedModule} from '../../../shared/shared.module';
import {InlineAddComponent} from './inline-add/inline-add.component';
@NgModule({
imports: [
SharedModule,
],
declarations: [
InlineAddComponent,
],
exports: [
InlineAddComponent,
],
entryComponents: [
InlineAddComponent,
]
})
export class FormInputsModule { }