【问题标题】:How do you inject a factory function with Aurelia's DI container?如何使用 Aurelia 的 DI 容器注入工厂函数?
【发布时间】:2015-06-04 20:31:53
【问题描述】:

我想在window 注入上创建一个第三方对象,以便我可以独立于第三方服务测试功能。我正在尝试构建的组件是 Disqus 嵌入式 cmets 的简单包装器。我想用的工厂就这么简单

() => window.DISQUS

有没有人能够做到这一点或知道是否有可能?

【问题讨论】:

    标签: javascript dependency-injection aurelia


    【解决方案1】:

    registerInstance 与这样的字符串键一起使用:

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

    然后您可以像这样将 disqus 实例注入到您的视图模型中:

    import {inject} from 'aurelia-framework';
    
    @inject('disqus')
    export class Foo {
      constructor(disqus) {
        this.disqus = disqus;
      }
      ...
    }
    

    【讨论】:

    • 你把container.registerInstance代码放在哪里了?
    • @Dustin 看看herehere
    猜你喜欢
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多