[英]Typescript compiler gives 'Unresolved variable or type' when I use a 'Token' in Angular2 provider() aliasing
Typscript似乎无法处理Angular2 provide()
别名函数中使用的“令牌”。 我想知道在typescript编译器中是否有一个设置可以解决这个问题,或者我是否因使用字符串类型别名而陷入困境。
一个例子,就像它在main.ts
bootstrapping函数中出现的那样如下:
bootstrap(AppComponent, [ROUTER_PROVIDERS, provide(**alias_token**, Child1aComponent)]);
Typescript(在webstorm,btw中)报告“未解析的变量或类型alias_token”错误。
有一个替代'provide'函数,它将字符串作为参数1,但如果可能的话,我更愿意使用Token版本。
有什么想法吗?
**alias_token**
需要是有效类型(实际存在并导入)或者字符串或OpaqueToken
一些例子
class AliasToken {}
bootstrap(AppComponent, [ROUTER_PROVIDERS, provide(AliasToken, {useClass Child1aComponent})]);
...
constructor(private alias:AliasToken);
bootstrap(AppComponent, [ROUTER_PROVIDERS, provide('alias_token', {useClass: Child1aComponent})]);
...
constructor(@Inject('alias_token') private alias:AliasToken);
var alias_token = new OpaqueToken("alias");
bootstrap(AppComponent, [ROUTER_PROVIDERS, provide(alias_token, {useClass: Child1aComponent})]);
...
constructor(@Inject(alias_token) private alias:AliasToken);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.