我希望任何人都可以帮助我解决这个问题
我不是很了解angular.io文档中的“工厂提供者”部分,并且可能不是我期望的那样。
这是我的问题:
我有一个应该通过变量动态实例化一个类的类。这是一个通过配置更改身份验证类型的层。像这样:
const classes = {
FirebaseAuthService,
...
};
上面的常量定义了可能创建的类。
/**
* returns the auth service
* for the configured api
*/
auth(key, ...opts) {
key = TransformHelper.capitalizeFirstLetter(key.toLowerCase());
const apiClass: AuthInterface = new classes[key + 'AuthService']();
return apiClass;
}
问题在于,将要创建的类具有DI,而这些DI将无法通过简单的“ new”运算符来解决。
有人可以告诉我如何创建一个工厂来解决这种情况下的DI吗?
非常感谢!!