Angular 9 MatDialog не может использовать Imported FormsModule или ReactiveFormsModule - PullRequest
0 голосов
/ 02 марта 2020

Я использую Angular 9, и как часть приложения открывается диалоговое окно, чтобы получить строку из формы. В app.module у меня есть и FormsModule, и ReactiveFormsModule. Они оба прекрасно работают во всем приложении. Однако, если я пытаюсь использовать их в компоненте MatDialog, я получаю следующие ошибки:

ошибка NG8001: 'mat-form-field' не является известным элементом:

ошибка NG8002: невозможно связать с 'formControl', так как это не известное свойство 'input'.

html для формы:

<h1 mat-dialog-title>Add Special</h1>
<div mat-dialog-content>
<mat-form-field>
  <div mat-label>Special</div>
  <input required matInput type ="text" placeholder="" [formControl]="specialText">
</mat-form-field>

Как уже говорилось, приведенный выше код работает в любом другом компоненте, который не является компонентом Dialog, однако он просто не компилируется, пока находится в компоненте Dialog. Кажется, что весь импорт присутствует согласно любой документации.

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Теперь это исправлено.

Проблема не связана с импортом. Когда проект был перемещен с Angular 8 на Angular 9 и EntryComponents был удален. Модуль, который действует как MatDialog, больше не был указан в декларации в app.module. Как только это было добавлено обратно, проблема была решена.

0 голосов
/ 02 марта 2020

Добавьте это к вашему импорту

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

Для Angular 9+ и далее

Куда бы вы ни импортировали MatDialog

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...