Я хотел бы получить данные по теме из http.
У меня есть служба (storage.Service), которая «вызывает» http-соединение с субъектом и копирует массив в другой сервис (myinfo.Service), который передает данные на страницу .ts
Я прибыл, чтобы получить массив и передать его в myinfo.service, но я не пришел, чтобы скопировать его, потому что после того, как я вызову метод для копирования массива info.service в массив page.ts th, он пуст.
Большое спасибо за вашу помощь.
код info.service:
private myinfoData: MyinfoModel[] = [];
myinfoSubject = new Subject<MyinfoModel[]>();
constructor() { }
setInfo(myinfoData: MyinfoModel[]) {
this.myinfoData = myinfoData;
this.myinfoSubject.next(this.myinfoData.slice());
}
getInfo() {
return this.myinfoData.slice();
}
код службы хранения:
private _url: any = '../assets/DB-Test/DB_MyInfo.json';
constructor(private http: HttpClient, private myinfoService: MyinfoService) { }
getMyInfo() {
this.http.get<any[]>(this._url).subscribe(
(response: MyinfoModel[]) => {
const infoData: MyinfoModel[] = response['DB_Portfolio']['TB_MyInfo'];
this.myinfoService.setInfo(infoData);
console.log(response);
console.log(infoData);
},
(error) => {
console.log('Error: ' + error);
}
);
}
Page.ts код:
infoDataBis: MyinfoModel[];
constructor(private dbStorage: DbStorageService, private myinfoService: MyinfoService) {
this.dbStorage.getMyInfo();
}
ngOnInit() {
this.infoDataBis = this.myinfoService.getInfo();
console.log(this.infoDataBis);
на console.log Я написал в хранилище.service
console.log(response);
console.log(infoData);
Я вижу массивы
на console.log, который я написал в page.ts
console.log(this.infoDataBis);
массив пуст
Когда я отлаживаю, я вижу массив в info.service, получая некоторые из них, которые во время "вызова" storage.service становятся пустыми. Поэтому, когда я вызываю метод getInfo (), я копирую пустой массив.
С этой логикой я думал, что смогу скопировать данные в сервис, который я смогу повторно использовать на любой странице. Если я захочу позже. Но я не приехал, чтобы сделать это: (
Спасибо за вашу помощь !!