如何使用Aurelia的DI容器注入工厂功能?

时间:2015-06-03 22:41:14

标签: javascript dependency-injection aurelia

我想在window注射器上制作第三方对象,以便我可以独立于第三方服务测试功能。我试图构建的组件是Disqus嵌入式注释的简单包装器。我想使用的工厂就像

一样简单
() => window.DISQUS

是否有人能够这样做或知道是否可能?

1 个答案:

答案 0 :(得分:4)

registerInstance与字符串键一起使用,如下所示:

container.registerInstance('disqus', window.DISQUS);

然后您可以将disqus实例注入到视图模型中,如下所示:

import {inject} from 'aurelia-framework';

@inject('disqus')
export class Foo {
  constructor(disqus) {
    this.disqus = disqus;
  }
  ...
}