如何解决使用autoBindInjectable对标记的绑定与命名的绑定进行逆向处理
我一直试图理解Inverseify @tagged和@named绑定之间的区别。我似乎找不到任何定义两者之间差异的文档。它们似乎是同义词。
此外,在使用容器的autoBindInjectable
设置时,我更加困惑如何/在何处定义对象的标记或名称。似乎没有办法使用B
注释。使用标识符将对象绑定什么?它使用Class作为标识符吗?
我确实看到inversify-binding-decorators库添加了@injectable()
和@provide()
装饰器,但是这是否完全消除了对@fluentProvide().whenTargetTagged()
装饰器的需要?
文档表明:
@injectable()
但是,除了通用文档之外,它没有显示/指示如何使用let container = new Container({ autoBindInjectable: true });
container.isBound(Ninja); // returns false
container.get(Ninja); // returns a Ninja
container.isBound(Ninja); // returns true
批注来进行自动绑定:
@injectable()
但是您如何定义@injectable()
class Ninja implements Warrior {}
或@tagged
绑定?并且有理由选择@named
而不是@tagged
吗?还是使用@named
库的唯一方法?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。