StaticInjectorError(AppModule)[MainComponent-> MatDialog]

时间:2019-08-16 07:01:35

标签: angular angular-material

在使用“材料对话框”时,我无法删除主题中提到的错误。我已经导入了MatDialogModule并添加了entryComponents。我只想在我的主要组件内单击editAPI按钮时打开我的edit-api组件。我究竟做错了什么?

以下是链接:https://stackblitz.com/edit/exercise-basic-c

2 个答案:

答案 0 :(得分:1)

您必须更改以下内容

import { MatDialog, MatDialogConfig } from '@angular/material';

作者

import { MatDialog, MatDialogConfig } from '@angular/material/dialog';

解决您的错误。

答案 1 :(得分:0)

尝试在您的编辑API组件中进行跟踪

import { Component, Inject, OnInit } from '@angular/core';
import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material';

@Component({
  selector: 'app-alert-dialog',
  templateUrl: './alert-dialog.component.html',
  styleUrls: []
})
export class AlertDialogComponent implements OnInit {
  constructor(
    public dialogRef: MatDialogRef<your_component>,
    @Inject(MAT_DIALOG_DATA) public data) { }

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

  ngOnInit() {
  }
}

您需要在对话框组件中使用@Inject MAT_DIALOG_DATA。