带有Angular 1 DI问题的ES6类和$ inject

时间:2015-06-10 14:42:40

标签: javascript angularjs ecmascript-6

class Foo {
    constructor(dep1) {
    }
}
Foo.$inject = ['Dependency1']

我知道你可以在angular / w es6课程中做这样的DI。但是,我还需要将一些东西传递给我的构造函数foo(一个配置对象)。这是我的想法,因为根据我的知识,DI参数首先出现。

基本上,我想做

let foo = new Foo(config); //config defined above

但是仍然有类中注入依赖项的好处。

1 个答案:

答案 0 :(得分:0)

解决方案1:

do {
   let fetchedResults = try managedContext.executeFetchRequest(fetchRequest) as? [NSManagedObject]
   if let results = fetchedResults{
      people = results
   }
} catch {
   print("Could not fetch")
}

解决方案2:

let angular = window.angular;
class Foo{
    constructor(config){
        let injector = angular.injector();
        let dep1 = injector.get('Dependency1');
        this.prop1 = config.prop;
        this.prop2 = dep1.get(); 
    }
}