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

使用ngx-cookie-service触发NG0203错误,求解决方法

问题定位

从错误栈能看出,问题出在ngx-cookie-service的实例创建流程中,inject()调用不在合法的注入上下文内。结合你的代码分析,核心原因是重复提供CookieService:你既在AppModule的providers数组里全局注册了该服务,又在LoginComponent的@Component元数据里再次添加providers: [CookieService],这会导致Angular在组件层级尝试重新创建服务实例时,触发注入上下文冲突。

解决方案

1. 移除组件级的CookieService注册

修改login.component.ts,删除@Component中的providers配置项:

@Component({
  selector: 'app-login',
  templateUrl: './login.component.html',
  styleUrls: ['./login.component.scss']
  // 删除此行:providers: [CookieService]
})

你已经在AppModule里全局注册了CookieService,组件可直接通过构造函数注入全局实例,无需重复注册。

如果上述操作后问题仍存在,检查版本适配性:

  • 执行npm list ngx-cookie-service查看当前版本
  • 若版本过低,运行npm install ngx-cookie-service@latest更新到最新兼容版本

3. 确认注入逻辑合法性

确保LoginComponent的构造函数注入方式正确(你的代码已符合要求,此步用于排查其他潜在非法注入):

constructor(
  private authService: AuthService,
  public cookieService: CookieService,
  private router: Router
) {
  // ...
}

验证修改

完成上述操作后重启项目,导航到Login组件,检查错误是否消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 15:54:52