Как хранить глобальные переменные в Angular 8? Например, UUID, который будет использоваться в запросах / сервисах? - PullRequest
1 голос
/ 07 мая 2020

Итак, у меня есть приложение, которое будет делать следующее: как только пользователь входит:

вызовет SendImpression ()

Эта функция отправит высоту и ширину экрана, и на стороне API данные, такие как IP, временная метка и UUID, будут храниться в базе данных, затем этот UUID будет возвращен по тому же запросу,

Что я хочу сделать дальше, это сохранить этот UUID глобально, поэтому при следующих запросах, которые мне нужно выполнить, я могу повторно использовать эту переменную UUID,

. Мне понадобится эта переменная в службах, например, представьте, что у меня есть служба UserOptin, и мне нужно отправьте UUID вместе с пользователем Optin, и представьте, что у меня есть другие службы, которым также нужен этот UUID, как лучше всего обработать / сохранить этот UUID?

Спасибо!

1 Ответ

2 голосов
/ 07 мая 2020

Вы можете использовать service и localStorage как способ Demo

import {Injectable} from '@angular/core';
import { Config } from '../models/config';
@Injectable()
export class ConfigService{
    setConfig(config: Config){
        sessionStorage.setItem("pa_config",JSON.stringify(config))    
    }  
    removeConfig(){
        sessionStorage.removeItem("pa_config");
    }
    getConfig(){
        let config:Config=JSON.parse(sessionStorage.getItem("pa_config"));
        return  config || new Config();
    }              
}

поместить в AppModule в провайдеры

providers: [ConfigService],

создать свой класс конфигурации

export class Config{
   public UUID:string="";
  //.. add your generals here
   constructor(){}
}

перед установкой данных сначала получите из службы, затем установите в ней свой элемент конфигурации.

Пример в component.ts

constructor(private _config:ConfigService) { }

в вашей функции

let config=this._config.getConfig();
config.UUID="test";
this._config.setConfig(config);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...