Javascript 如何在不使用ES6类特性的情况下在Aurelia中注入依赖项

Javascript 如何在不使用ES6类特性的情况下在Aurelia中注入依赖项,javascript,dependency-injection,functional-programming,ecmascript-6,aurelia,Javascript,Dependency Injection,Functional Programming,Ecmascript 6,Aurelia,如何在导出函数而不是类时插入依赖项?添加一个inject属性,列出对构造函数函数的依赖项: 从“aurelia事件聚合器”导入{EventAggregator}; 导出函数示例(eventAggregator){ 日志(eventAggregator); 返回{ 信息:“你好,世界” }; } Example.inject=[EventAggregator]; 运行示例: 如果要手动使用injectdecorator而不是添加静态inject属性,可以编写: import {EventAggr

如何在导出函数而不是类时插入依赖项?

添加一个
inject
属性,列出对构造函数函数的依赖项:

从“aurelia事件聚合器”导入{EventAggregator};
导出函数示例(eventAggregator){
日志(eventAggregator);
返回{
信息:“你好,世界”
};
}
Example.inject=[EventAggregator];
运行示例:

如果要手动使用
inject
decorator而不是添加静态
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);
注意:标准的decorator“@”语法要求使用ES6类,因此您可能希望实现现代化