我有以下TS类
从'@ angular / core'导入{Injectable};
.contacts_box
{
float:left;
height:100%;
width:300px;
border:1px dashed magenta;
box-sizing: border-box;
}
.message_box
{
float:right;
height:100%;
width:500px;
border:1px dashed lemonchiffon;
box-sizing: border-box;
}
请注意 AuthServiceUrl 是静态的。如果我有类似的东西,如何在Angular2s DI框架中访问此属性
/* Comment */
如何访问此内容。另外,如果我想制作Config类Singleton,我该如何在Angular2中做到这一点?
答案 0 :(得分:1)
声明配置变量,并按照https://angular.io/docs/ts/latest/cookbook/dependency-injection.html#!#opaque-token中的说明,在声明opaque-token的地方使用它。
声明config
接口和接口提供程序,如下所示:
=> config.ts
export interface Config {
apiEndpoint: string;
}
export const CONFIG: Config = {
apiEndpoint : 'http://api.url.com'
};
=> config.provider.ts
import { OpaqueToken } from '@angular/core';
export let APP_CONFIG = new OpaqueToken('app.config');
在某些共享模块中使用它,如下所示:
=> shared.module.ts
import { NgModule } from '@angular/core';
import { CONFIG } from './config';
import { APP_CONFIG } from './config.provider';
@NgModule({
providers : [
{
provide : APP_CONFIG,
useValue: CONFIG
}
]
})
export class SharedModule {}