web:javascript:angular:configuration
Différences
Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
web:javascript:angular:configuration [2018/12/27 21:23] – créée sgariepy | web:javascript:angular:configuration [2022/02/02 00:42] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Configuration ====== | ====== Configuration ====== | ||
+ | Créer une interface qui décrit la configuration souhaitée: | ||
+ | <code javascript> | ||
+ | export interface IAppConfig { | ||
+ | api: { | ||
+ | baseUrl: string; | ||
+ | }; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Créer un service de configuration qui a deux méthodes, une pour charger le fichier de configuration et l' | ||
+ | |||
+ | <code javascript> | ||
+ | import { Injectable } from ' | ||
+ | import { HttpClient } from ' | ||
+ | |||
+ | import { IAppConfig } from ' | ||
+ | |||
+ | @Injectable() | ||
+ | export class AppConfigService { | ||
+ | private appConfig: IAppConfig; | ||
+ | |||
+ | constructor(private http: HttpClient) {} | ||
+ | |||
+ | public loadAppConfig(): | ||
+ | return this.http | ||
+ | .get< | ||
+ | .toPromise() | ||
+ | .then((config: | ||
+ | this.appConfig = config; | ||
+ | }); | ||
+ | } | ||
+ | |||
+ | public getAppConfig(): | ||
+ | return this.appConfig; | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Remarquez que l'on revoit une promesse, plutôt qu'un observable, c'est parce que '' | ||
+ | |||
+ | Ensuite, dans le module de l' | ||
+ | |||
+ | <code javascript> | ||
+ | providers: [ | ||
+ | AppConfigService, | ||
+ | { | ||
+ | provide: APP_INITIALIZER, | ||
+ | useFactory: appInitializerFn, | ||
+ | multi: true, | ||
+ | deps: [AppConfigService] | ||
+ | } | ||
+ | ], | ||
+ | </ | ||
+ | |||
+ | <code javascript> | ||
+ | const appInitializerFn = (appConfigService: | ||
+ | appConfigService.loadAppConfig(); | ||
+ | </ | ||
+ | |||
+ | Ne pas oublier d' | ||
Source: [[https:// | Source: [[https:// |
web/javascript/angular/configuration.1545942184.txt.gz · Dernière modification : 2022/02/02 00:43 (modification externe)