我在Angular Material中遇到了一个错误:
compiler.js:466 Uncaught Error: Template parse errors:
'mat-label' is not a known element:
1. If 'mat-label' is an Angular component, then verify that it is part of this module.
2. If 'mat-label' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the '@NgModule.schemas' of this component to suppress this message. ("
</mat-form-field>
<mat-form-field>
[ERROR ->]<mat-label>Both a label and a placeholder</mat-label>
<input matInput placeholder="Simple"):
问题:
材料标签位于MatFormFieldModule下
现在,问题的可能原因是什么,为什么Mat-Label对Angular Material未知。
这里是HTML
<mat-form-field>
<mat-label>Both a label and a placeholder</mat-label>
<input matInput placeholder="Simple placeholder">
</mat-form-field>
8条答案
按热度按时间avwztpqn1#
如果你有多个模块,确保你在每个模块中导入了
MatFormFieldModule
。仅仅导入根模块是不够的。例如,我有一个CommonWidgetsModule,其中包含一些常用的小部件(我自己的),您将看到我正在导入
MatFormFieldModule
和MatInputModule
cs7cruho2#
也可能是您忘记在模块中添加组件(即已经导入
MatFormFieldModule
和MatInputModule
)。kt06eoxx3#
确保您正在'app.module.ts'或相应模块的'module.ts'文件中导入MatFormFieldModule。
sczxawaw4#
我还发现,如果你使用CLI并说skip-import。这将导致组件不会出现在你的模块中。所以它不会引用回mat标签的导入。
xbp102n05#
在app.module.ts文件中添加
FormModule包括与表单相关的所有字段
jm81lzqq6#
如果要在对话框中使用,请小心
@参见https://material.angular.io/components/dialog/overview
ok
科
为此,您必须创建一个新组件,而不仅仅是一个html模板。
kyxcudwk7#
添加导入
vtwuwzda8#
将@angular/material升级到“5.2.0”,问题就会消失。