У меня есть эта первая страница, где я делаю запрос get Http, а затем передаю часть результата (который является JSON) на другую страницу:
this.http.get(this.request)
.subscribe((response)=>{
response.response.group.results.forEach(el => {
let venue = {id: el.id, name: el.venue.name};
param.push(venue);
})
this.router.navigate(['/place-list', {par: param}]);
})
В основном я помещаю в массив параметров этот объекткоторый содержит идентификатор и название некоторых мест.После проверки данных я проверил содержимое param
, и оно верное.
Затем я хочу перейти на другую страницу (place-list
) и использовать этот массив.Это то, что я делаю на странице PlaceList:
ngOnInit() {
this.route.params.subscribe(params => {
this.parameters = params['par'];
console.log("Length " + this.parameters.length);
for (let par of this.parameters){
console.log(par.id);
}
});
}
Проблема в том, что длина не совпадает с массивом на предыдущей странице (это должно быть 30 объявлений вместо 479), а также всеэлементы в массиве не определены, когда я пытаюсь их напечатать (console.log(par.id);
).
Где я ошибаюсь?
ОБНОВЛЕНИЕ
Если углубиться в вопрос, ямы заметили, что происходит следующее:
скажем, я помещаю идентификатор 12345 на первую страницу в моем массиве, а затем передаю этот массив на другую страницу, что происходит, когда массив прибывает на другую страницу длиннеепотому что записи теперь:
1
2
3
4
....
Это похоже на то, как первый вектор делится на маленькие кусочки.