繁体   English   中英

从服务文件获取值到app.module的最佳方法

Best way to get a value from service file to app.module

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我希望导入从服务文件返回的值,例如,服务文件为:

http.service.ts

selectedEnvironment() {
  return "abc";
}

但是如何将这个值放入我的app.module文件中。 有没有首选的方法?

我试过了:

app.module

import { HttpService } from "./http.service";

export function HttpLoaderFactory(httpClient: HttpClient) {
  return new TranslateHttpLoader(httpClient, "./assets/" + HttpService.selectedEnvironment()+"/i18n/", ".json");
}

但是它说“ typeof HttpService类型type上不存在属性selectedEnvironment ”。

2 个回复

如果是角度服务

import { Injectable } from "@angular/core";

@Injectable()
export class YourHttpService {
  constructor() {}

  getEnvironment() {
    return "XYZ";
  }
}

您可以在HttpLoaderFactory中将服务指定为参数。 请确保在您的应用程序模块的deps:[HttpClient,YourHttpService ]和提供程序提供程序:[YourHttpService]中指定了服务名称

export function HttpLoaderFactory(httpClient: HttpClient,httpService:YourHttpService) {
    console.log(httpService.getEnvironment());
  return new TranslateHttpLoader(httpClient);
}

@NgModule({
  declarations: [
    AppComponent
  ],
  imports: [
    BrowserModule,
    HttpClientModule,
    TranslateModule.forRoot({
      loader: {
        provide: TranslateLoader,
        useFactory: HttpLoaderFactory,
        deps: [HttpClient,YourHttpService]
      }
    })
  ],
  providers: [YourHttpService],
  bootstrap: [AppComponent]
})
export class AppModule { }

示例代码https://stackblitz.com/edit/transalate-vvmckq?file=src/app/app.module.ts

在app.module.ts中添加此

 providers: [HttpService]
3 从 app.module 中的本地 json 文件读取 api url

我正在做一个 Angular 项目。 这个项目将建立在不同的地址。 而且每个api链接都会不同。 我想通过将这些地址保存在 json 文件中来在本地使用它,而不是在 app.module 中为每个更改和构建 apiUrl 提供程序。 我在 app.module.ts 中的当前代码; 由于这些地 ...

4 在 App.Module 中使用外部 Javascript 值

我想在 App.Module 中使用外部 javascript 值。 我有一个像这样的外部 javscript myjs.js 在 app.module 我需要这个值在这里可用 在该函数声明中,我使用 JS 文件中的该变量。 我不确定我是否会得到它。 还有那个功能本身,我没有到达我调用它 ...

2020-08-07 11:42:20 0 17   angular
6 在main.ts和app.module中使用相同的服务实例化(到处都是单个)

我在'root'中提供了一个名为“ LocaleService”的服务,其中包含我的所有语言环境逻辑。 该服务启动应用程序的本地化,并提供一些有关语言环境的功能。 我必须在main.ts中初始化此服务以使角度语言环境起作用 这是我的初始化: 问题是,在我的组件中使用第二 ...

10 ng build上app.module中的单例服务错误

我正在使用将在所有组件之间共享的单例服务,我创建了一个CoreModule ,其静态类为: 在app.module.ts中 Globals dict是在index.html中创建的,其值来自后端。 现在我在app.module.ts中使用此Globals变量,并将此初始值提供给 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM