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

升级Angular 16至17时出现NullInjectorError: No provider for _CdkConnectedOverlay错误

Angular v17升级后ng-zorro-antd组件加载失败(报错_CdkConnectedOverlay无提供者)的解决方法
  • 升级ng-zorro-antd至兼容Angular 17的版本,执行命令:
    ng update ng-zorro-antd
    
  • 确保@angular/cdk版本与Angular 17匹配,安装对应版本:
    npm install @angular/cdk@^17.0.0
    
  • 根据项目架构导入/提供Overlay相关依赖:
    • 传统NgModule模式:在使用ng-zorro组件的模块中导入OverlayModule
      import { OverlayModule } from '@angular/cdk/overlay';
      
      @NgModule({
        imports: [
          // 其他必要模块
          OverlayModule
        ]
      })
      export class TargetModule { }
      
    • 独立组件模式(Angular 17推荐):在组件的providers数组中添加provideOverlay()
      import { provideOverlay } from '@angular/cdk/overlay';
      
      @Component({
        selector: 'app-target',
        templateUrl: './target.component.html',
        providers: [provideOverlay()]
      })
      export class TargetComponent { }
      
  • 确认根层级NgZorro配置正确:
    • NgModule模式:根模块导入NzRootModule
    • 独立组件模式:bootstrap时添加provideNzRoot()到providers数组

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 14:35:54