Aurelia是否支持向数组注入多个成员
Does Aurelia support injection of multiple members to array
Aurelia(确切地说 aurelia-dependency-injection) support injection of multiple members to array (like multi inject feature of InversifyJS)吗?
示例:
提供商-common.ts:
class A { ... }
provider1.ts
let a1 = new A (...)
container.registerInstance(A, a1)
provider2.ts
let a2 = new A (...)
container.registerInstance(A, a2)
consumer.ts
@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 { Container } from 'aurelia-framework';
@inject(Container)
class B {
constructor (container: Container) {
var multipleAInstancesFromDifferentProviders : Array<A> = container.getAll(A);
}
}
您可以尝试使用 All.of(A)
:
import {inject, All} from "aurelia-framework";
@inject(All.of(A))
class B {
constructor (multipleAInstancesFromDiffirentProviders :Array<A>) {
}
}
Aurelia(确切地说 aurelia-dependency-injection) support injection of multiple members to array (like multi inject feature of InversifyJS)吗?
示例:
提供商-common.ts:
class A { ... }
provider1.ts
let a1 = new A (...)
container.registerInstance(A, a1)
provider2.ts
let a2 = new A (...)
container.registerInstance(A, a2)
consumer.ts
@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 { Container } from 'aurelia-framework';
@inject(Container)
class B {
constructor (container: Container) {
var multipleAInstancesFromDifferentProviders : Array<A> = container.getAll(A);
}
}
您可以尝试使用 All.of(A)
:
import {inject, All} from "aurelia-framework";
@inject(All.of(A))
class B {
constructor (multipleAInstancesFromDiffirentProviders :Array<A>) {
}
}