使用 typescript ,我可以轻松地将类绑定(bind)到自身:
bootstrap(MyAppComponent, [MyClass]);
但是,我想将我的类绑定(bind)到一个接口(interface),例如:
boostrap(MyAppComponent, [???]);
这样我就可以按以下方式注入(inject)它:
class MyAppComponent {
constructor(my_class : IMyClass){
}
};
在Angular2中有可能吗?如果是,我该如何指定绑定(bind)?
最佳答案
简而言之,问题在于编译 typescript 时接口(interface)会消失。因此,您必须将@Inject与字符串一起使用。
或者还有另一种选择,如果您检查the last article of Victor Savkin ,则可以在注释中找到它:
constructor(@Inject("ILoginService") s:ILoginService).
interface ILoginService { login(credentials);}
const ILoginService = new OpaqueToken("LoginService");
constructor(@Inject(ILoginService) s:ILoginService).
关于dependency-injection - 将类绑定(bind)到接口(interface),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32254952/