繁体   English   中英

MatDialog Angular打开组件?

[英]MatDialog Angular open component?

有对话框: public dialog: MatDialog和打开对话框的方法open():

this.dialog.open(MyDialogComponent, conf);

open()描述是:

open<T, D = any, R = any>(componentOrTemplateRef: ComponentType<T> | TemplateRef<T>, config?: MatDialogConfig<D>): MatDialogRef<T, R>;

这是否意味着我应该将第一个参数作为实例组件传递?

为什么在示例中我们使用MyDialogComponent而不是new MyDialogComponent() 如果MyDialogComponent在构造函数中具有依赖项注入怎么办?

对象对话框将动态创建该对象,他将为您注入依赖项

该组件作为示例, AService将由DI系统注入

@Component({
  selector: 'dialog-overview-example-dialog',
  templateUrl: 'dialog-overview-example-dialog.html',
  providers: [AService]
})
export class DialogOverviewExampleDialog {

  constructor(
    public dialogRef: MatDialogRef<DialogOverviewExampleDialog>,
    @Inject(MAT_DIALOG_DATA) public data: DialogData , public AService:AService ) {
      console.log(AService)
    }

  onNoClick(): void {
    this.dialogRef.close();
  }

}

演示🚀🚀

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM