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

Angular 15升级至16后AppModule出现组件编译错误,移至SharedModule恢复正常

Angular 16升级后NG8002错误的解决办法
  • 显式导入表单模块
    Angular 16收紧了模块依赖的校验规则,若AppModule内的组件使用ngModel,必须在AppModule中直接导入FormsModule或ReactiveFormsModule。Angular 15允许间接通过SharedModule导入的依赖生效,但16要求使用指令的模块必须显式声明依赖。

  • 校验SharedModule的导出逻辑
    组件移至SharedModule后恢复正常,说明SharedModule已正确导入表单模块并导出目标组件。要让AppModule内的组件正常运行,可二选一:

    1. 在AppModule中直接导入FormsModule/ReactiveFormsModule;
    2. 确保SharedModule导出FormsModule,再让AppModule导入SharedModule。
  • 排查schemas配置问题
    NO_ERRORS_SCHEMA和CUSTOM_ELEMENTS_SCHEMA必须添加到组件所属的AppModule的@NgModule配置中,而非组件自身装饰器。若ui-switch是原生自定义元素,除了添加CUSTOM_ELEMENTS_SCHEMA,还需在main.ts中完成自定义元素的注册。

  • 检查组件声明冲突
    确认AppModule内的组件未被其他模块重复声明,Angular 16强化了模块声明隔离机制,跨模块引用未导出组件或重复声明会引发属性绑定类错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 23:59:54