2017-12-21 7 views
0

Ich versuche, manuell MAT_DIALOG_DATA Abhängigkeit für Angular Material Dialog injizieren. Ich möchte meine Komponente sowohl innerhalb des Dialogs als auch als eine in html eingebettete reguläre Komponente wiederverwenden. Daher kann ich die Konstruktorinjektion nicht verwenden, da ich diese Abhängigkeiten nur bedingt injizieren muss, wenn sich die Komponente im Dialogfeld befindet.Angular 4: manuelle Injektion von Abhängigkeiten mit Injector

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); 
     } 

Die obige MatDialogRef korrekt funktioniert, aber MAT_DIALOG_DATA InjectionToken funktioniert nicht.

Antwort

0

Diese Injektion funktioniert ordnungsgemäß. Ich habe einen Fehler in der hasResetToken() - Überprüfung im Zusammenhang mit undefinierter Variable.

Verwandte Themen