我正在尝试为Angular Material Dialog手动注入MAT_DIALOG_DATA依赖项。我想在对话框内部重用我的组件,并作为嵌入在html中的常规组件。所以我不能使用构造函数注入,因为我需要有条件地注入此依赖项如果组件在对话框内。
constructor(private injector : Injector,
private activatedRoute : ActivatedRoute,
private fb : FormBuilder,
private userService : UserService) {
this.resetToken = activatedRoute.snapshot.params['resetToken'];
if(this.hasResetToken()) {
this.dialogRef = this.injector.get(MatDialogRef);
this.data = this.injector.get(MAT_DIALOG_DATA);
}
上面的MatDialogRef工作正常,但MAT_DIALOG_DATA InjectionToken不起作用。
答案 0 :(得分:0)
这种注射工作正常。我在与未定义变量相关的hasResetToken()检查中有错误。