Вы можете создать общий сервис.Затем вы можете подписаться на эту услугу в обоих ваших модулях и поделиться своими данными.
например:
это моя http-служба, которая используется всеми модулями
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';
import { APIUrls } from '../Enums/api-url.enum';
import { HttpResponse } from 'selenium-webdriver/http';
import { SessionStorageService } from './session-storage.service';
import { SessionStorageKeys } from '../Enums/session-storage-keys.enum';
@Injectable()
export class HttpService {
constructor(private _http: HttpClient, private _sessionService: SessionStorageService) {
}
public PostRequest(apiURL: string, body: any): Observable<HttpResponse> {
let auth_token = this._sessionService.get(SessionStorageKeys.AUTH_TOKEN);
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + auth_token
})
};
return this._http.post(APIUrls.BaseURL + apiURL, body, httpOptions);
}
public GetRequest(apiURL: string): Observable<HttpResponse> {
let auth_token = this._sessionService.get(SessionStorageKeys.AUTH_TOKEN);
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'Bearer ' + auth_token
})
};
return this._http.get(APIUrls.BaseURL + apiURL, httpOptions);
}
private _transformRequest(obj: any): any {
var str = [];
for (var p in obj)
if (obj.hasOwnProperty(p)) {
str.push(encodeURIComponent(p) + ":" + encodeURIComponent(obj[p]));
}
return str;
}
}
Я добавил этот сервис в провайдеров массив app.module.ts
, а затем внедрил этот сервис в конструкторы компонентов в различных модулях