У меня есть функция, которая открывает MatDialog с компонентом с именем 'NoteFormComponent', это выглядит так
openForm() {
let dialogConfig = new MatDialogConfig();
dialogConfig.autoFocus = true;
dialogConfig.width = "95%";
dialogConfig.panelClass = "form-dialog";
dialogConfig.scrollStrategy = new NoopScrollStrategy();
this.dialog.open(NoteFormComponent, dialogConfig).beforeClose().subscribe(() => this.getNotes());
}
Я выскакиваю модал, содержащий NoteFormComponent. Так в чем же проблема?
Проблема в том, что я хочу использовать 'NoteFormComponent' без MatDialog , но для того, чтобы использовать его с MatDialog, который у меня былчтобы вставить ссылку в конструктор компонента, как это
constructor(
private noteService : NoteService,
private productService : ProductService,
private categoryService : CategoryService,
private clientService : ClientService,
private notification : NotificationService,
private dialogRef : MatDialogRef<NoteFormComponent>, /*This Reference*/
private loader : LoaderService,
private sessionService : SessionService,
private securityBlockerService : SecurityBlockerService,
private dialog : MatDialog,
private dialogService : DialogService
) { }
И если я попытаюсь использовать компонент с селектором шаблона '', он выдаст ошибку, что нет поставщика для MatDialogRef единственное, что приходит мне в голову - это создать копию NoteFormComponent, но без инжектора MatDialogRef в конструкторе.
Есть ли способ решить эту проблему или обойти ее?