【问题标题】:Inject Angular factory dependency into Typescript class without polluting constructor?将Angular工厂依赖注入Typescript类而不污染构造函数?
【发布时间】:2016-11-16 17:00:36
【问题描述】:

我正在将工厂编写为 Typescript 类,并在需要时使用 new FactoryName() 对其进行实例化。

通过这样做,我将它作为工厂工作:.factory('FactoryName', function() { return FactoryName; }),它工作得很好,但现在我需要将我在 Typescript 之外制作的另一个工厂注入其中,而不会污染构造函数调用。这可能吗?

【问题讨论】:

    标签: angularjs typescript dependency-injection angularjs-service angularjs-factory


    【解决方案1】:

    是的

    app.factory('FactoryName', ['...', (...deps) => new FactoryName(...deps)]);
    

    由于匿名函数不能很好地配合$inject注解,数组注解更适合这种情况。

    【讨论】:

      【解决方案2】:

      我找到了解决方法:

      export function FactoryName(injectedService1, injectedService2) {
        return class FactoryClass {
          constructor() {
            let test = injectedService1.testFunction();
          }
        }
      }
      
      app.factory('FactoryName', FactoryName)
      

      【讨论】:

        猜你喜欢
        • 2019-04-20
        • 1970-01-01
        • 2020-06-27
        • 2018-12-03
        • 2011-02-02
        • 2013-01-30
        • 2016-12-30
        • 1970-01-01
        • 2015-08-18
        相关资源
        最近更新 更多