Spartacus 4.3.x 版本导入 Cart 到 App Module 构造函数的错误消息

简介: Spartacus 4.3.x 版本导入 Cart 到 App Module 构造函数的错误消息

我今天做 Angular 开发的时候, 在 App.module.js 文件里编写代码:


export class AppModule { 
  constructor(private cart:Cart){
    console.log('Jerry: ', this.cart);
  }
}


遇到下列错误:


No suitable injection token for parameter ‘cart’ of class‘AppModule’. Consider using the @Inject decorator to specify an injection token.(-992003)

ddd7f7bccd9b8cc3b2aa2fd86b7f0e19_fc84296da1902690e22d3033d344fe03.png


这个错误消息的意思是,在 AppModule 类中的构造函数中使用了一个名为 cart 的参数,但是 Angular 没有找到一个合适的注入令牌(Injection Token)来为该参数提供一个值。因此,编译器建议使用 @Inject 装饰器来显式地指定注入令牌。


在 Angular 中,注入令牌是用来标识一个特定的依赖项的,它通常是一个字符串或一个符号(Symbol)。Angular 会根据注入令牌来查找对应的依赖项,并将其注入到组件或服务中。如果没有为参数提供注入令牌,则 Angular 将无法确定应该注入哪个依赖项,从而导致错误。


解决这个错误的方法是,使用 @Inject 装饰器为 cart 参数显式地指定一个注入令牌。例如,如果 cart 参数依赖于一个名为 CartService 的服务,则可以将其注入令牌指定为 CartService:

import { Inject } from '@angular/core';
import { CartService } from './cart.service';
export class AppModule { 
  constructor(@Inject(CartService) private cart:CartService){
    console.log('Jerry: ', this.cart);
  }
}


在上面的代码中,使用了 @Inject 装饰器将注入令牌指定为 CartService。这样 Angular 就会根据注入令牌来查找 CartService 服务,并将其注入到 cart 参数中。


这个数字 -992003 是错误消息的错误码,它是由 Angular 编译器生成的。每个错误码都对应着一个特定的错误,这样有助于开发人员快速定位和解决问题。


在这个特定的错误消息中,错误码 -992003 表示“找不到适合的注入令牌”,即缺少依赖项的注入令牌。当编译器发现这种情况时,会生成这个错误消息,并提示开发人员使用 @Inject 装饰器来显式地指定注入令牌。


需要注意的是,错误码并不是唯一的标识错误的方式,因为它们可能会因为不同版本的编译器和工具而有所变化。因此,当遇到错误时,建议不仅仅依赖于错误码,而是要仔细阅读错误消息,理解错误的具体含义,并根据提示来解决问题。


相关文章
|
3月前
|
Java 应用服务中间件 Windows
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
【应用服务 App Service】App Service 中部署Java项目,查看Tomcat配置及上传自定义版本
|
22天前
|
开发工具 iOS开发 MacOS
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
【Mac_mistake】app不能安装在未命名需要OSv11.13或更高版本
50 0
|
3月前
|
开发者
【Azure Logic App】中国区标准版本的逻辑应用(Standard Logic App)无法查看历史执行记录的解决之道
【Azure Logic App】中国区标准版本的逻辑应用(Standard Logic App)无法查看历史执行记录的解决之道
|
3月前
|
关系型数据库 MySQL Linux
【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named 'MySQLdb'
【Azure 应用服务】[App Service For Linux(Function) ] Python ModuleNotFoundError: No module named 'MySQLdb'
|
3月前
|
Linux C#
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
|
4月前
|
人工智能
魔搭多模态AI单词助记&通义APP即时口语练习,你从未体验过的全新版本!
首次接触魔搭多模态AI单词助记工具让我颇感惊喜。传统背单词方式枯燥低效,而该工具通过生成关联图像、短语或故事,让记忆变得生动有趣。访问[Word-wizard](https://modelscope.cn/studios/makabakaing/Word-wizard)体验其图文记忆和视觉学习功能。目前图文记忆功能似乎存在问题,但视觉学习功能仍可正常使用,能识别图片特征并生成释义和例句,辅助学习效果不错。此外,可通过通义APP实现即时口语练习,尽管缺乏上下文记忆功能,但仍是一个优秀的练习工具。
|
4月前
|
Android开发
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
【亲测,安卓版】快速将网页网址打包成安卓app,一键将网页打包成app,免安装纯绿色版本,快速将网页网址打包成安卓apk
116 0
|
6月前
|
移动开发 小程序 前端开发
开发指南022-多版本APP的账号统一
移动前端有多种形态,对于管理系统领域主要有4种形态
|
6月前
|
网络协议 定位技术 数据安全/隐私保护
APP审核驳回和重大版本问题经典案例及解决方案
APP审核驳回和重大版本问题经典案例及解决方案
176 0
|
6月前
|
前端开发
最新版本create-react-app 如何使用css-module
最新版本create-react-app 如何使用css-module
43 0