【问题标题】:Angular 4: manual injection of dependencies with InjectorAngular 4:使用 Injector 手动注入依赖项
【发布时间】: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


    【解决方案1】:

    此注入工作正常。我在与未定义变量相关的 hasResetToken() 检查中出现错误。

    【讨论】:

      猜你喜欢
      • 2015-04-02
      • 2017-06-18
      • 1970-01-01
      • 2016-09-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-09
      • 1970-01-01
      • 2015-12-06
      相关资源
      最近更新 更多