DI 的正确令牌类型是什么
What are the correct token types for DI
在 angular1 中,我们只有提供者的令牌类型 - 字符串。在 angular2 中,我看到的所有示例似乎都使用了 class 标记。例如:
class Car {}
var injector = ResolveInjector.resolveAndCreate([
{ provide: Car, useClass: Car },
^^^
{ provide: Engine, useClass: Engine }
]);
我想知道有效的令牌类型是什么?它们可以基于 TypeScript 数据类型还是 JavaScript 数据类型?解析依赖时,angularuses metadata。那么有效的令牌类型是那些在元数据中有效的令牌类型吗?
- TypeScript 类,(但不是接口)
- 字符串
- OpaqueToken
- 对象实例(另请参阅 https://github.com/angular/angular/issues/13944)
在 angular1 中,我们只有提供者的令牌类型 - 字符串。在 angular2 中,我看到的所有示例似乎都使用了 class 标记。例如:
class Car {}
var injector = ResolveInjector.resolveAndCreate([
{ provide: Car, useClass: Car },
^^^
{ provide: Engine, useClass: Engine }
]);
我想知道有效的令牌类型是什么?它们可以基于 TypeScript 数据类型还是 JavaScript 数据类型?解析依赖时,angularuses metadata。那么有效的令牌类型是那些在元数据中有效的令牌类型吗?
- TypeScript 类,(但不是接口)
- 字符串
- OpaqueToken
- 对象实例(另请参阅 https://github.com/angular/angular/issues/13944)