在Angular 2中提供常量

时间:2016-08-02 10:11:15

标签: angular

提供已在RC4中弃用。

在此我可以做到:

provide("API_URL", {useValue: "address"})

我尝试这样的事情:

{
   provide: "API_URL",
   useValue: "address"
}

但这不起作用。我发现了一些例子here,但没有关于常量的例子。

2 个答案:

答案 0 :(得分:8)

您必须使用OpaqueToken类:

<强> tokens.export.ts

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

export const API_URL = new OpaqueToken('API_URL');
export const OTHER_TOKEN = new OpaqueToken('OTHER_TOKEN');

更新 - 由于不推荐使用Angular 4.0 OpaqueToken,请使用InjectionToken

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

export const API_URL = new InjectionToken<string>('API_URL');
export const OTHER_TOKEN = new InjectionToken<string>('OTHER_TOKEN');

<强> main.ts

{
   provide: API_URL,
   useValue: "address"
}

答案 1 :(得分:0)

我在我的应用程序中这样做了:

export class AppSettings {
    public static get API_ENDPOINT(): string { return 'http://localhost:3003'; }
}

在需要的应用程序中包含(导入类并使用变量)。