升级Angular 15后mat-slider报NG01203值访问器缺失错误
解决Angular Material v15 mat-slider的NG01203错误
检查核心模块导入
确保你的功能模块中已正确导入MDC版本的MatSliderModule,v15版本的组件路径已拆分到具体子包,路径错误会导致表单值访问器无法注册:
import { MatSliderModule } from '@angular/material/slider'; @NgModule({ imports: [ // ...其他依赖模块 MatSliderModule ] }) export class YourFeatureModule { }
验证表单绑定语法
根据表单类型确认绑定方式正确:
模板驱动表单
<mat-slider name="canvas-zoom" [(ngModel)]="zoomLevel"></mat-slider>
需确保组件类中定义了zoomLevel属性,且模块导入了FormsModule。
响应式表单
<mat-slider formControlName="canvas-zoom"></mat-slider>
需确保父组件的FormGroup中已注册canvas-zoom控件,且模块导入了ReactiveFormsModule。
排查迁移代码残留
执行MDC迁移命令后,可能存在旧代码冲突:
- 检查是否保留了针对旧版
mat-slider的自定义ControlValueAccessor实现,这类代码会和新版组件的内置访问器冲突,需删除或适配。 - 确认
mat-slider标签未被误修改为旧版的<md-slider>或自定义组件标签。
清理缓存并重启服务
Angular缓存可能导致模块未正确编译,执行以下命令后重启开发服务:
ng cache clean
内容的提问来源于stack exchange,提问作者Shashank Agrawal
相关产品推荐
相关产品推荐

