Angular 如何在NgModule定义文件中的函数中插入位置?
我有下一个密码Angular 如何在NgModule定义文件中的函数中插入位置?,angular,typescript,dependency-injection,location,Angular,Typescript,Dependency Injection,Location,我有下一个密码 @NgModule({ imports: [ .. TranslateModule.forRoot({ loader: { provide: TranslateLoader, useFactory: (createTranslateLoader), deps: [HttpClient] } }), ... ], 这是Cr
@NgModule({
imports: [
..
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: (createTranslateLoader),
deps: [HttpClient]
}
}),
...
],
这是CreateTransaleLoader实现
export function createTranslateLoader(http: HttpClient) {
let fullLocationPath = location.origin + location.pathname;
// I want to use angular location here.
return new TranslateHttpLoader(http, fullLocationPath + 'assets/languages/', '.json');
}
我该怎么做?如何在CreateTransaleLoader函数中使用角度位置?
根据,如果您想使用它,您必须自己提供一个位置,并指定LocationStrategy
:
import { Location, LocationStrategy, PathLocationStrategy } from '@angular/common';
@NgModule({
imports: [
...
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,
useFactory: createTranslateLoader,
deps: [HttpClient]
}
}),
...
],
providers: [Location, {provide: LocationStrategy, useClass: PathLocationStrategy}],
您可以通过以下三种定位策略中的任意一种:
- HashLocationStrategy
- 路径定位策略
- 模拟定位策略