相关疑难解决方法(0)

Angular:如何正确实现APP_INITIALIZER

我有一个Angular 5.2.0应用程序.我查找了如何在应用程序启动之前实现APP_INITIALIZER来加载配置信息.这是app.module的摘录:

providers: [
    ConfigurationService,
    {
        provide: APP_INITIALIZER,
        useFactory: (configService: ConfigurationService) =>
            () => configService.loadConfigurationData(),
        deps: [ConfigurationService],
        multi: true
    }
],
Run Code Online (Sandbox Code Playgroud)

这里是configuration.service:

import { Injectable, Inject } from '@angular/core';
import { HttpClient } from '@angular/common/http';

import { Configuration } from './configuration';

@Injectable()
export class ConfigurationService {
    private readonly configUrlPath: string = 'Home/Configuration';
    private configData: Configuration;

    constructor(
        private http: HttpClient,
        @Inject('BASE_URL') private originUrl: string) { }

    loadConfigurationData() {
        this.http
            .get<Configuration>(`${this.originUrl}${this.configUrlPath}`)
            .subscribe(result => {
                this.configData = {
                    test1ServiceUrl: result["test1ServiceUrl"],
                    test2ServiceUrl: result["test2ServiceUrl"]        
                } …
Run Code Online (Sandbox Code Playgroud)

typescript angular

15
推荐指数
1
解决办法
2万
查看次数

标签 统计

angular ×1

typescript ×1