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

Angular 15实现OnInit接口时触发装饰器错误(-992007)求助

解决Angular 15中"Class is using Angular features but is not decorated"错误

错误重现

基础组件代码正常,实现OnInit接口并添加ngOnInit方法后,出现编译/IDE提示错误:

Class is using Angular features but is not decorated. Please add an explicit Angular decorator.(-992007)

可能的原因及解决方案

1. 清除Angular CLI缓存

缓存异常是这类假阳性错误的常见诱因,执行以下命令重置缓存:

ng cache clean

重启开发服务器:

ng serve --open

2. 重置IDE的Angular语言服务

如果是VS Code等IDE的错误提示,重启语言服务可解决缓存问题:

  • 打开命令面板(Ctrl+Shift+P / Cmd+Shift+P)
  • 执行Angular: Restart Angular Language Service
  • 关闭并重新打开当前组件文件

3. 验证装饰器语法细节

虽然代码看起来正确,仍需确认:

  • @Component装饰器紧接在类声明上方,无多余空行或语法错误
  • Component和OnInit均从@angular/core正确导入,无拼写错误

4. 重新生成组件文件

若手动编写代码存在隐性语法问题,用CLI重新生成组件:

ng generate component foo

再手动添加OnInit接口和ngOnInit方法,避免手动编码的潜在问题

5. 确认配置文件有效性

你的tsconfig.json中experimentalDecorators已设为true,符合Angular要求。若怀疑配置损坏,可执行以下命令重置基础配置:

ng config cli.defaultCollection @schematics/angular

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 03:35:26