【发布时间】:2017-11-02 06:18:16
【问题描述】:
我遇到了一个似乎有点难以放入标题的问题,这就是为什么你得到这个标题的原因。
我收到一条错误消息: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> 来自第三方库(猫鼬)。
我不知道我在这里做错了什么,所以如果你能把我推向正确的方向,我们将不胜感激。
【问题讨论】:
-
您找到解决方案了吗?
-
嗨@andrew,不,我没有,并且是的,我有。我做了一些重写并围绕错误写了。你会原谅我不记得细节吗?但是IIRC我只是为
_model创建了一个getter和一个setter,不再使用super()设置它。因为我认为这与构造函数需要完全不同的参数有关。所以我并没有真正解决这个问题,我删除了它:D
标签: node.js typescript mongoose inversifyjs