2017-07-04 29 views
2

我正在关注如何提供,然后注入一个非类实例的文档;特别是我想提供应用程序广泛的常量。 The docs为此使用InjectionToken,但解释是非常裸露的;考虑第一部分:Angular InjectionToken;什么是'app.config'?

app.config.ts

import { InjectionToken } from '@angular/core'; 

export let APP_CONFIG = new InjectionToken<AppConfig>('app.config'); 

什么是'的app.config'串点?我在这里看到的InjectorToken的每个示例都使用该示例,但没有人讨论它的含义或引用。

回答

1

它是如可从参数名称可以看出的描述:

export class InjectionToken<T> extends OpaqueToken { 
    constructor(desc: string) { super(desc); } 
       ^^^^ 

    toString(): string { return `InjectionToken ${this._desc}`; } 
} 

它可用于当它在toString方法见过调试目的。

Symbol也接收在构造函数描述字符串后可能建模:

参数

  • 描述 - 可选可选,字符串。对符号 的描述,可用于调试但不访问符号本身。

参考Angular 2 OpaqueToken vs Angular 4 InjectionToken理解为什么InjectionToken进行了介绍。

+0

我很努力去理解。这是否意味着,我们应该在应用程序中保持“app.config”唯一性? –

+0

你问的是什么'app.config'? –

+0

我的意思是'export let APP_CONFIG = new InjectionToken ('app.config');'。参数。 –