matDialogRef的StaticInjectionError

时间:2019-06-05 09:08:57

标签: angular typescript dialog angular-material frontend

我正在使用一个有尖角前端的项目来尝试创建matDialogue,但是我总是收到错误消息:

StaticInjectorError(AppModule)[CustomersComponent -> MatDialogRef]: 
  StaticInjectorError(Platform: core)[CustomersComponent -> MatDialogRef]: 
    NullInjectorError: No provider for MatDialogRef!

我放在html文件中的内容没关系,即使我将其保留为空白,也会收到错误消息。 这是我的ts文件:

import {Component, OnInit} from '@angular/core';
import {AuthService} from '../../services/auth.service';
import {MatDialog, MatDialogRef, MatDialogModule} from '@angular/material/dialog';
import {FormBuilder, FormGroup} from '@angular/forms';

@Component({
  selector: 'app-customers',
  styleUrls: ['./customers.component.scss'],
  templateUrl: './customers.component.html'
})
export class CustomersComponent implements OnInit {

  customerCreateForm: FormGroup;

  constructor(private authService: AuthService,
              private custDialog: MatDialogRef<CustomersComponent>,
              private fb: FormBuilder) {
  }

  ngOnInit() {
  }

有什么想法会导致这种情况吗?

1 个答案:

答案 0 :(得分:2)

我不确定我是否正确,但是正如我在错误中看到的那样,它写为“没有为MatDialogRef提供”。

这肯定是因为进口。请检查是否已在app.module.ts文件中导入MatDialogModule。

import {MatDialogModule} from '@angular/material/dialog';
@NgModule({ 
imports:[MatDialogModule] 
})