angular - 为什么我不能使用 Angular 材质组件?
问题描述
我有一个 Angular 10 项目,但是对于某些组件(例如表单域)使用 Angular 材料时出现了一个奇怪的错误(而不是像“表”这样的组件,一切正常):
'mat-form-field' 不是已知元素:
- 如果 'mat-form-field' 是 Angular 组件,则验证它是否是该模块的一部分。
- 如果“mat-form-field”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息
这是我的应用模块:
...
import { MatFormField, MatLabel } from '@angular/material/form-field';
...
@NgModule({
declarations: [
AppComponent,
],
imports: [
MatFormField
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
解决方案
您需要导入特定于您将使用的组件的模块。在 Angular Material 文档中,您将看到概述、API 和示例选项卡。选择具有您需要使用该特定组件的模块名称的 API。
在你的情况下:
import {MatFormFieldModule} from '@angular/material/form-field';
不要忘记在 NgModule 导入中添加上述模块名称
如果您使用多个材料组件,更好的解决方案是为材料模块创建一个模块并导入 App.module.ts
import { NgModule } from '@angular/core';
import { MatCardModule } from '@angular/material/card';
import { MatButtonModule} from '@angular/material/button';
import { MatMenuModule } from '@angular/material/menu';
import { MatToolbarModule } from '@angular/material/toolbar';
import { MatIconModule } from '@angular/material/icon';
import {
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
} from '@angular/material';
@NgModule({
imports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
],
exports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
]
})
export class MaterialModule {}
推荐阅读
- python - 将数据框行转换为具有重复索引值的列
- ipywidgets - ipywidgets:如何观察 Box 孩子的状态变化?
- openssl - 在 Linux 中使用 openssl 验证签名
- c# - .NET 6.0 中标准库的 FileNotFoundException
- html - 关闭时为详细信息标签设置动画
- python - numba `parallel=True` 产生损坏的结果
- javascript - Web 音频 API 振荡器 onstarted 事件
- python - python @classmethod 返回'nonetype'
- django - 带有 PostgreSQL 的 Django ORM 使用 icontains 返回错误的数据
- wpf - ItemsControl 中的 RelativeSource 绑定不起作用