标签: aurelia-di

无需构造函数注入即可访问Aurelia的Dependency Injection系统

有没有办法在没有构造函数注入的情况下访问Aurelia的依赖注入系统.

我有一个叫做的课Box.我需要知道其中一个属性何时更改,以便我可以更新我的验证.我发现我可以使用bindingEngine.propertyObserver这个答案.

但我的实例Box是由BreezeJsAurelia 创建的.所以使用@inject(或@autoinject在我的情况下)获取实例bindingEngine是行不通的.

我看到aurelia.container.get会让我从Aurelia的DI框架中解决.但这需要Aurelia对象的当前实例.我能看到的唯一方法是...构造函数注入!

所以,要绕过构造函数注入,你需要...构造函数注入!

我希望我错过了一些东西,还有另一种方法可以获得bindingEngine没有构造函数注入的实例.

注意:现在我只需将我的变量转换为javascript属性并自行触发已更改的事件.但我知道这会让我陷入肮脏的检查...... :(

javascript aurelia aurelia-binding aurelia-di

4
推荐指数
1
解决办法
1163
查看次数

创建在 Aurelia 中使用依赖注入的类的新实例

我想创建一个工厂,它能够创建使用依赖注入的类(MyClass,实现抽象类)的新实例。

我希望工厂看起来像这样:

工厂

export class Factory {

  public static makeMyClass() {
    return new MyClass();
  }

}
Run Code Online (Sandbox Code Playgroud)

但是,当我采用这种方法时,EventAggregator 不会注入到 MyClass 中。

我怎样才能做到这一点?

界面

export abstract class MyClassInterface {

  abstract connect();
  abstract disconnect();
  abstract send(message: string);

}
Run Code Online (Sandbox Code Playgroud)

班级

@inject(EventAggregator)
export class MyClass {

  constructor(EventAggregator) {}

  connect() {}
  disconnect() {}
  send(message: string) {}

}
Run Code Online (Sandbox Code Playgroud)

提前致谢!

dependency-injection aurelia aurelia-di

4
推荐指数
1
解决办法
1592
查看次数