Я пытаюсь реализовать функцию «Речь в текст» в своем приложении с помощью директивы [appSpeechToText], которую я могу применить к любому полю ввода/текстовой области, компонент в основном отображает кнопки «Запись», «Пауза» и «Стоп», для которых я хочу использовать <mat-icon>
элемент.
Моя директива работает в том, что если я создаю HTML
<p>BANG!</p>
Все компилируется, как и следовало ожидать, и метка BANG! отображается рядом с моим элементом управления textarea, как я и ожидал, однако, когда я меняю HTML на
<mat-icon>not_started</mat-icon>
Я получаю следующее сообщение во время компиляции: -
src/app/shared/components/speech-to-text/speech-to-text.component.html:2:5 - error NG8001: 'mat-icon' is not a known element:
1. If 'mat-icon' is an Angular component, then verify that it is part of this module.
2. If 'mat-icon' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message.
2 <mat-icon>not_started</mat-icon>
~~~~~~~~~~
src/app/shared/components/speech-to-text/speech-to-text.component.ts:5:18
5 templateUrl: './speech-to-text.component.html',
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error occurs in the template of component SpeechToTextComponent.
Я не понимаю, как мне сообщить Angular, что я хочу использовать MatIconModule?
Чтобы уточнить
Компонент запускается с помощью директивы, использующей
this.overlayRef.attach(new ComponentPortal(SpeechToTextComponent))
Я не ссылаюсь на компонент ни в одном модуле, потому что он динамически присоединен к оверлею. Однако у меня есть MatIconModule
, импортированный в мой файл app.module.ts
, но безрезультатно.