【问题标题】:Angular InjectionToken; what is 'app.config'?角注入令牌;什么是“app.config”?
【发布时间】:2017-07-04 12:35:47
【问题描述】:

我正在关注如何提供的文档,然后注入一个非类实例;具体来说,我想提供应用程序范围的常量。 The docs 为此使用InjectionToken,但解释非常简单;考虑第一部分:

app.config.ts

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

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

'app.config' 字符串的意义何在?我在这里看到的每个 InjectorToken 示例都使用了它,但没有人讨论它的含义或指代。

【问题讨论】:

    标签: angular dependency-injection


    【解决方案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

    【讨论】:

    • 我很难理解。这是否意味着,我们应该在整个应用程序中保持'app.config' 的唯一性?
    • 你在问什么app.config
    • 我的意思是export let APP_CONFIG = new InjectionToken&lt;AppConfig&gt;('app.config');。参数。
    • @ShashankVivek,最好单独问一个问题
    猜你喜欢
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 2011-05-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-03
    • 2019-05-31
    • 2013-07-21
    相关资源
    最近更新 更多