[英]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.