You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular Material 13.2.6升级至14.2.2遇TS编译错误求助

解决Angular 13→14迁移中Material构造器类型报错问题

问题根源

Angular Material 14对内部核心类型做了重构,Constructor和AbstractConstructor的导出路径、类型定义都发生了变化,导致原13版本的导入和类型使用方式失效。

具体修复步骤

  1. 替换构造器类型的导入路径
    把所有文件中从@angular/material/core/common-behaviors/constructor的导入,替换为@angular/material/core/typings/constructor:

    // 旧导入
    import { Constructor, AbstractConstructor } from '@angular/material/core/common-behaviors/constructor';
    
    // 新导入
    import { Constructor, AbstractConstructor } from '@angular/material/core/typings/constructor';
    
  2. 修复类型不兼容问题
    替换导入路径后,_AbstractConstructor类型不匹配的报错通常会自动消失。如果仍存在,检查你的类继承/实现方式:

    • 确保MatInputBase的继承链符合Material 14的要求,避免手动扩展内部抽象类时的签名不匹配
    • 若自定义了基于MatInputBase的组件,确认构造函数参数与Material 14的定义对齐
  3. 清理并重新安装依赖
    避免版本缓存导致的不一致:

    rm -rf node_modules package-lock.json yarn.lock
    npm install
    
  4. 检查Angular Material版本一致性
    确保package.json中所有@angular/material/*包的版本都是14.2.2,没有混合13和14版本的依赖。

内容的提问来源于stack exchange,提问作者mpro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 04:30:29