如何解决如果在运行时没有解释 typescript 的类型,Angular 如何知道要注入的类?
当我们在组件中注入依赖时,像这样:
export class AppComponent {
constructor(private myService: MyService) {}
}
...................
@Injectable({
providedIn: "root",})
export class MyService {
constructor() {}
}
如果在打字稿中,类型在运行时不存在,angular 怎么知道我的服务需要接收MyService
实例的参数???
编辑:
给出一个更具体的问题来解决:
class Dependency {}
class Foo {
constructor(dependency: Dependency) {}
}
type Prototype<T> = new (...args: unknown[]) => T;
function InversionOfControl<T>(Class: Prototype<T>): T {
/// injects all dependencies of Class and returns a instance of it
}
const foo = InversionOfControl(Foo);
如何在运行时仅使用打字稿和常规 javascript 创建此 InversionOfControl
函数。
解决方法
类型在运行时不存在,但类在运行时是一个实际的对象。请注意,接口不是运行时对象,因此不能用作注入令牌。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。