Angular 2是否将服务手动注入类?
我想将一个服务注入到一个只有常量的类中 我要注入的服务是:Angular 2是否将服务手动注入类?,angular,angular2-services,Angular,Angular2 Services,我想将一个服务注入到一个只有常量的类中 我要注入的服务是: import {Injectable} from '@angular/core'; import {ActivatedRoute, Router, NavigationStart} from '@angular/router'; import {location} from '@angular/common'; enum Environment { local, dev } @Injectable() export
import {Injectable} from '@angular/core';
import {ActivatedRoute, Router, NavigationStart} from '@angular/router';
import {location} from '@angular/common';
enum Environment {
local,
dev
}
@Injectable()
export class EnvService {
private _env: Environment = Environment.dev;
constructor(
private router: Router,
private activatedRoute: ActivatedRoute,
private location: Location
) {
this._env = someApiCallToGetEnv();
}
getEnv(): string {
return Environment[this._env];
}
}
我想给它注入的类是
import {ModuleWithProviders} from '@angular/core';
import {Routes, RouterModule} from '@angular/router';
import {ResourcesComponent} from 'components/resources.ts';
import {EnvService} from 'services/env.service';
const appRoutes: Routes = [
{
path: '',
redirectTo: EnvService.getEnv() + '/resources',
pathMatch: 'full'
},
{
path: 'resources',
component: ResourcesComponent,
}
];
export const routing: ModuleWithProviders = RouterModule.forRoot(appRoutes);
根据环境的不同,我希望当用户第一次导航到网站根目录时,重定向链接是动态的
如何执行此操作?您只能为routesBtw创建模式getenv方法应返回什么?它以字符串形式返回一个环境枚举。还有更多我没有列出的。环境变量应该在你的情况下在前端静态使用,或者创建一个路由链接
:myroute/resources
,现在无论你在运行应用程序后用任何环境url重定向到哪里,它都会work@BabarBilal在根“”处。我可以在哪里添加例如:根/应用程序级别的env?如果我添加`{path:'',重定向到:':env/resources',pathMatch:'full'},`您只能为routesBtw创建模式getenv方法返回什么?它以字符串形式返回一个环境枚举。还有更多我没有列出的。环境变量应该在你的情况下在前端静态使用,或者创建一个路由链接:myroute/resources
,现在无论你在运行应用程序后用任何环境url重定向到哪里,它都会work@BabarBilal在根“”处。我可以在哪里添加例如:根/应用程序级别的env?如果我添加`{path:'',重定向到:':env/resources',pathMatch:'full'}`