angular - Angular 9 中无法识别单选按钮
问题描述
我已将 Angular 从版本 8 更新到 9。我观察到在 app.module.ts 中,以下内容已从
import { MatRadioModule } from '@angular/material';
至
import { MatRadioModule } from '@angular/material/radio';
现在,我在 ng build 上收到以下错误。
- 如果 'mat-radio-button' 是一个 Angular 组件,则验证它是否是该模块的一部分。
- 如果“mat-radio-button”是一个 Web 组件,则将“CUSTOM_ELEMENTS_SCHEMA”添加到该组件的“@NgModule.schemas”以禁止显示此消息。
我尝试将 CUSTOM_ELEMENTS_SCHEMA 或 NO_ERRORS_SCHEMA 添加到应用程序模块,但没有成功。
import { NO_ERRORS_SCHEMA } from '@angular/core';
schemas: [NO_ERRORS_SCHEMA]
会有什么问题?谢谢!!
更新:
我在这里发现了类似的问题: 升级到 Angular v9 并启用 Ivy 后,Angular 编译失败
解决方案
问题是您在未导入<mat-radio-button></mat-radio-button>
的模块中使用。MatRadioModule
首先,您需要将angular/material
和angular/cdk
作为依赖项添加到您的项目中。
要正确导入MatRadioModule
,请确保将其导入您正在使用的模块中<mat-radio-button></mat-radio-button>
像这样:
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { MatRadioModule } from '@angular/material/radio';
@NgModule({
imports: [ BrowserModule, FormsModule, MatRadioModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
现在我可以像这样在我的模板中使用它:(在AppModule
)
<mat-radio-button></mat-radio-button>
示例:https ://stackblitz.com/edit/angular-c8kmds
确保您遵循所有这些步骤并确保MatRadioModule
正确导入Module
推荐阅读
- sql-server - 如何在不修改源文件的情况下在 BULK INSERT 期间添加其他列
- javascript - 递归过滤和删除对象数组中的项目
- php - 如何使用 php 在 geoserver 实现中从 mapfish 打印下载 pdf 文件?
- python - `register_forward_hook` 在使用多个 GPU 时出错
- api - 我无法使用谷歌搜索地点 API 实现搜索地点
- linux - 试图自动化 fdisk 但当放入 shell 脚本时它不会写
- jquery - JavaScript 中的新行文本
- unsupervised-learning - 为什么在 SimCLR 中我们不保存整个模型
- typescript - Vue-CLI 创建 Vue + Ts 项目,然后遇到构建错误
- hibernate - 如何在 hibernate.cfg.xml 文件中使用表达式语言?