如何使用 Aurelia 的 DI 容器注入工厂函数?
How do you inject a factory function with Aurelia's DI container?
我想在 window
可注入上创建一个第三方对象,这样我就可以测试独立于第三方服务的功能。我试图构建的组件是一个简单的包装器,围绕着 Disqus 嵌入式评论。我想使用的工厂很简单
() => window.DISQUS
有没有人能做到或知道是否可行?
使用 registerInstance
和这样的字符串键:
container.registerInstance('disqus', window.DISQUS);
然后您可以像这样将 disqus 实例注入到您的视图模型中:
import {inject} from 'aurelia-framework';
@inject('disqus')
export class Foo {
constructor(disqus) {
this.disqus = disqus;
}
...
}
我想在 window
可注入上创建一个第三方对象,这样我就可以测试独立于第三方服务的功能。我试图构建的组件是一个简单的包装器,围绕着 Disqus 嵌入式评论。我想使用的工厂很简单
() => window.DISQUS
有没有人能做到或知道是否可行?
使用 registerInstance
和这样的字符串键:
container.registerInstance('disqus', window.DISQUS);
然后您可以像这样将 disqus 实例注入到您的视图模型中:
import {inject} from 'aurelia-framework';
@inject('disqus')
export class Foo {
constructor(disqus) {
this.disqus = disqus;
}
...
}