[英]Does Aurelia support injection of multiple members to array
Aurelia(確切地說是aurelia-dependency-injection )是否支持將多個成員注入到數組中(例如InversifyJS的multiject特性 )?
例:
provider-common.ts:
class A { ... }
provider1.ts
let a1 = new A (...)
container.registerInstance(A, a1)
provider2.ts
let a2 = new A (...)
container.registerInstance(A, a2)
消費者
@inject(A)
class B {
constructor (multipleAInstancesFromDiffirentProviders :Array<A>) {
// I would expect multipleAInstancesFromDiffirentProviders to contain [a1,a2] (if such a feature is supported)
}
}
您可以嘗試使用All.of(A)
:
import {inject, All} from "aurelia-framework";
@inject(All.of(A))
class B {
constructor (multipleAInstancesFromDiffirentProviders :Array<A>) {
}
}
最好是使用All.of(A)
。
您還可以使用以下替代方法:
import { Container } from 'aurelia-framework';
@inject(Container)
class B {
constructor (container: Container) {
var multipleAInstancesFromDifferentProviders : Array<A> = container.getAll(A);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.