gpt4 book ai didi

node.js - 缺少@inject 注释,在使用扩展类进行反转时不会丢失

转载 作者:行者123 更新时间:2023-12-05 07:42:38 25 4
gpt4 key购买 nike

我遇到了一个似乎有点难以放入标题的问题,这就是为什么您获得了这个标题的原因。

我收到一条错误消息:Error: Missing required @inject or @multiInject annotation in: argument 0 in class SceneRepository. .
这看起来很简单,我应该添加一个 @inject我的第一个论点的注释。这是我的构造函数:

export class SceneRepository extends BaseRepository<IScene> {
constructor(@inject(SceneSchema) private sceneSchema: SceneSchema) {
super(sceneSchema.schema);
}
}

为了完整起见,这就是我的 BaseRepository 的样子:

export class BaseRepository<T extends Document> implements IWrite<T>, IRead<T>{
constructor(private _model: Model<Document>) {

}
...
}

Model<Document>来自第三方库 (mongoose)。

我不知道我在这里做错了什么,所以如果你能把我推向正确的方向,我将不胜感激。

最佳答案

我遇到了类似的问题,在我的例子中,我没有使用构造函数注入(inject),而是使用属性注入(inject)来避免此错误,并且还使注入(inject)工作正常。

export class SceneRepository extends BaseRepository<IScene> {
@inject(SceneSchema)
private sceneSchema: SceneSchema;
constructor() {
super(this.sceneSchema.schema);
}
}

希望这对您有所帮助。

关于node.js - 缺少@inject 注释,在使用扩展类进行反转时不会丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44301782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com