0
は、私は2つのシングルトンを使用して、このInversify円形シングルトン注入
import 'reflect-metadata';
import { Container, inject, injectable } from 'inversify';
let container = new Container();
@injectable()
class Dom {
private domUi: DomUi;
constructor (domUi: DomUi) {
this.domUi = domUi;
}
}
@injectable()
class DomUi {
private dom: Dom;
constructor (dom: Dom) {
this.dom = dom;
}
}
@injectable()
class Test {
constructor (dom: Dom) {
console.log(dom);
}
}
container.bind<Dom>(Dom).toSelf().inSingletonScope();
container.bind<DomUi>(DomUi).toSelf().inSingletonScope();
const test = container.resolve(Test);
のようにお互いを呼び出すためにそれらができるようにするためにしようとしている。しかし、それは、これは、固定することができますどのようにこのエラー
Error: Missing required @inject or @multiInject annotation in: argument 0 in class Dom.
を与えますか? @inject
と@multiInject
を試してみました。
これはデザインパターンの観点から考えるより良い方法ですか?
はありがとう、あなたソリューションが正しく機能しました!これは再現性のための工夫された例でしたが、私は実際のプロジェクトでシンボルを使用しています – UnLoCo
このバグを追跡するためにGitHubで問題を作成しました。https://github.com/inversify/InversifyJS/issues/685 –