从具有构造函数参数的父类注入子类。 (奥里利亚)

时间:2017-12-05 08:45:47

标签: ecmascript-6 aurelia webpack-dev-server

我正在与Aurelia合作并尝试以下列方式实现注射。

我有一个父类,需要在构造上设置对象。 我从一个带有孩子的班级派生出来并希望将一个服务注入该班级:

export class parent
{
  constructor(aParam)
  {
    this.Something = aParam;
  }
}

@inject(service)
export class child extends parent
{
  constructor(aParam, aService)
  {
    super(aParam);
    this.Service = aService;
  }
}

现在我希望能够构造与父类相同的子类,例如:

const Parent = new parent(10);
const Child = new child(10);

我的问题是,我怎样才能做到这一点?

我使用Aurelia框架,使用webpack生成我的javascript。 任何帮助将不胜感激,我到目前为止发现的唯一的事情是: https://ilikekillnerds.com/2016/11/injection-inheritance-aurelia/ 但是,如果父母也注入了一些东西,这只能解决问题。

此致 Jan Jaap

1 个答案:

答案 0 :(得分:0)

直接从Aurelia的依赖注入容器中获取service的实例。这与“正常”注入代码(@inject(service)...)相同:

import {Container} from 'aurelia-dependency-injection’;

export class child extends parent
{
  constructor(aParam)
  {
    super(aParam);
    this.Service = Container.instance.get(service);;
  }
}