【发布时间】:2019-05-02 06:02:03
【问题描述】:
我有一个函数可以打开一个带有名为“NoteFormComponent”的组件的 MatDialog,它看起来像这样
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”的模式。 那么问题出在哪里?
问题是我想在没有 MatDialog 的情况下使用“NoteFormComponent”,但是为了将它与 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 注入器。
有没有办法解决或解决这个问题?
【问题讨论】:
标签: angular typescript angular-material angular-material2