无法将依赖项注入派生类

时间:2019-09-19 17:21:00

标签: javascript typescript dependency-injection inversifyjs reflect-metadata

我有三个类的相对简单的设置。我正在使用<h2 class="colored">Journal Articles</h2>进行依赖项注入。但是,当将类/article/注入派生类inversify中时,MessageBroker是不确定的:

Repository

您可以自己尝试。我创建了一个小型GitHub存储库:https://github.com/flolude/stackoverflow-inversify-injected-service-undefined

运行脚本时,出现此错误:

MessageBroker

P.S。将代码编译为Javascript时,我得到几乎相同的错误

1 个答案:

答案 0 :(得分:1)

您的MessageBroker仅在内存中设置,但从未实例化,这就是它获取未定义错误的方式。在您的构造函数中,您需要设置

this.mb = new MessageBroker();

您可以在没有上述行的情况下执行此操作的另一种方法是将一个空参数签名的构造函数添加到MessageBroker类中。