我在更改对话框形式时遇到此错误。我不再想使用对话框形式,而不再使用表单。现在,当我从构造函数中删除@Inject(MAT_DIALOG_DATA)时,我收到了错误。有想法吗?
constructor(
@Inject(MAT_DIALOG_DATA)
public data: any,
private fb:FormBuilder,
private personService:VehicleService,
public snack: MatSnackBar,
private route : ActivatedRoute
) {}
答案 0 :(得分:1)
Angular使用弱映射和注入令牌进行依赖注入。
如果您删除@Inject
,则会留下
public data: any
鉴于弱映射依赖于类,并且注入令牌依赖于提供的字符串,因此Angular无法找到您的数据属性。
这意味着您必须删除这两行
constructor(
private fb:FormBuilder,
private personService:VehicleService,
public snack: MatSnackBar,
private route : ActivatedRoute
) {}
答案 1 :(得分:1)
bootstrapModule无法加载/查找AppComponent.ts
中定义的依赖项之一,这就是为什么出现此错误的原因。
如果您正在寻找缺少的依赖项,
以下是找出缺失的依赖关系的步骤(已在 Angular v8.2.3 上进行了验证):
convertInjectableProviderToFactory
return function(){return new( type .bind.apply(type,__spread([void 0],injectArgs( deps_3 ))))(); };
> export class LoggerService implements Logger {
>
> constructor(private apmService: **ApmService**,
> private utilService: UtilService) {
> }
如果以上是错误的课程。