Вы можете просто передать объект с помощью route , используя queryParams .
import { Router } from '@angular/router';
object = {
name: 'subham',
age: '34',
address: '34 street, Delhi, India'
}
constructor(public router : Router) {}
onGoToNextPage(){
this.router.navigate(['/pageName'],{
queryParams: this.object,
});
}
Для получения этого объекта необходимо использовать ActivatedRoute , который должен быть импортирован из '@ angular / router'
import { ActivatedRoute } from '@angular/router';
constructor(public activatedRoute : ActivatedRoute,) {
this.activatedRoute.queryParams.subscribe((res)=>{
console.log(res);
});
}
Если у вас небольшая сложная структура объекта .
предположим, у вас есть объект для отправки.
object = {
name: 'subham',
age: '34',
address: '34 street, Delhi, India'
favourite_movie: ['dhoom','race 2','krishh'],
detail : {
height: '6ft',
weight: '70kg'
}
}
Чтобы отправить вышеуказанный объект , вам необходимо сначала stringify объекта с помощью JSON.stringfy () .
import { Router } from '@angular/router';
object = {
name: 'subham',
age: '34',
address: '34 street, Delhi, India'
favourite_movie: ['dhoom','race 2','krishh'],
detail : {
height: '6ft',
weight: '70kg',
}
}
constructor(public router : Router) {}
onGoToNextPage(){
this.router.navigate(['/pageName'],{
queryParams: {
value : JSON.stringify(this.object)
},
});
}
Чтобы получить этот объект , вам необходимо проанализировать этот объект, используя JSON.parse () метод.
import { ActivatedRoute } from '@angular/router';
constructor(public activatedRoute : ActivatedRoute,) {
this.activatedRoute.queryParams.subscribe((res)=>{
console.log(JSON.parse(res.value));
});
}