Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在NgModule定义文件中的函数中插入位置?_Angular_Typescript_Dependency Injection_Location - Fatal编程技术网

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
  • 路径定位策略
  • 模拟定位策略