在Angular 2中提供常量

Ill*_*ian 3 angular

提供已在RC4中弃用.

在此之前我能做到:

provide("API_URL", {useValue: "address"})
Run Code Online (Sandbox Code Playgroud)

我尝试这样的事情:

{
   provide: "API_URL",
   useValue: "address"
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用.我在这里找到了一些例子,但没有关于常数的例子.

rin*_*usu 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');
Run Code Online (Sandbox Code Playgroud)

更新 - 因为OpaqueToken不推荐使用Angular 4.0 ,请使用InjectionToken:

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

export const API_URL = new InjectionToken<string>('API_URL');
export const OTHER_TOKEN = new InjectionToken<string>('OTHER_TOKEN');
Run Code Online (Sandbox Code Playgroud)

main.ts

{
   provide: API_URL,
   useValue: "address"
}
Run Code Online (Sandbox Code Playgroud)