【发布时间】:2018-06-04 11:51:04
【问题描述】:
我正在尝试为 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 不起作用。
【问题讨论】:
标签: angular typescript dependency-injection angular5