我正在使用TypeScript包装AngularJS。我想要做的一件事是合理的依赖注入语法。
一种可能的解决方案是将依赖项明确列为构造函数参数。问题是没有注释,参数名称必须与服务名称匹配,这很烦人。此外,每个子类必须列出父类及其类型的所有参数,这些参数的扩展性不是很高。
所以我尝试使用这种设计进行基于场的注射:
class X {
private scope = inject('$scope');
private somethingElse = inject(); // Uses field name
}
不幸的是,TypeScript在构造函数中进行字段初始化(而不是设置原型),因此在创建实例之前无法确定哪些字段需要注入。
我想知道有什么方法吗?
答案 0 :(得分:0)
现在可以使用装饰器
整齐地完成