如何在导出函数而不是类时注入依赖项?
答案 0 :(得分:5)
添加一个inject
属性,列出您的依赖项到构造函数:
import {EventAggregator} from 'aurelia-event-aggregator';
export function Example(eventAggregator) {
console.log(eventAggregator);
return {
message: 'hello world'
};
}
Example.inject = [EventAggregator];
正在运行示例:https://gist.run/?id=d60c5c7dfbf53e507aae47d6c05b7d36
如果您想手动使用inject
装饰器而不是添加静态inject
属性,您可以写:
import {EventAggregator} from 'aurelia-event-aggregator';
import {inject} from 'aurelia-dependency-injection';
export function Example(eventAggregator) {
console.log(eventAggregator);
return {
message: 'hello world'
};
}
inject(EventAggregator)(Example);
注意:标准装饰" @"语法需要使用ES6类,因此您可能希望进行现代化。