【发布时间】:2016-05-30 14:43:15
【问题描述】:
我在 typescript 中使用依赖注入,这意味着我可以在模块中创建一个对象而无需导入类(我正在导入一个注入器,而不是它为我提供了我需要的对象实例)。如果我现在想为接收变量提供一个类型,我会收到 Unresolved type 错误。有什么好的解决办法吗?
示例
Injector.injectMainHelper(); 返回一个 'MainHelper' 类型的对象,但当前模块不知道该类型,因为我还没有导入 MainHelper(我不想导入它)。
let mainHelper:MainHelper = Injector.injectMainHelper();
您可以查看完整代码here。
【问题讨论】:
-
您使用的是哪个 IoC 容器?角 2?
-
不,我只是为了好玩而尝试了DIY DI。所以没有容器或框架。
-
我已经在容器上工作了一段时间了,现在你可以在github.com/inversify/InversifyJS 上查看它,我也建议你阅读blog.wolksoftware.com/… 第二点解释了你在这里遇到的问题以及原因需要接口。
-
@OweRReLoaDeD 谢谢。我已经尝试过 inversify,在我看来这太神奇了。不要误会我的意思,我不想说它不好,它只是增加了另一层复杂性。感谢您将我指向博客,我会检查一下。我想一切都会归结为到处使用接口。
-
没问题!你在做正确的事,如果你不完全知道发生了什么,那么“使用魔法”是不好的。
标签: javascript types typescript