这是模块
@NgModule({
imports: [],
declarations: [VariableDialogComponent],
providers: [OutputFieldsService]
})
export class AModule {}这是OutputFieldsService
@Injectable()
export class OutputFieldsService {
constructor(private dialog: MatDialog) {}
public addParameter() {
const dialogRef = this.dialog.open(VariableDialogComponent, {
data: dt,
disableClose: true,
minWidth: '30%'
});
return dialogRef.afterClosed()
}
}而且AModule是懒散的,所以每次我试图访问该模块时,都会得到这个错误。

,据我所知,这个错误非常误导
当我从服务中删除打开的VariableDialogComponent对话框时,错误将消失。
服务和组件在同一个模块中,所以我不明白为什么会出现这个错误
我是不是遗漏了什么?
发布于 2022-03-08 14:17:42
我没找到发生这种事的原因。但是用以下方法修正它:我将组件作为参数传递,这样我就不会在服务中提到VariableDialogComponent
模块
@NgModule({
imports: [],
declarations: [VariableDialogComponent],
providers: [OutputFieldsService]
})
export class AModule {}OutputFieldsService
@Injectable()
export class OutputFieldsService {
constructor(private dialog: MatDialog) {}
public addParameter(component: ComponentType<any>) {
const dialogRef = this.dialog.open(component, {
data: dt,
disableClose: true,
minWidth: '30%'
});
return dialogRef.afterClosed()
}
}然后
this.outputFieldsService.addParameter(VariableDialogComponent)https://stackoverflow.com/questions/71394782
复制相似问题