2017-07-04 30 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');'。參數。 –