I am developing an application with ionic 2, in the page1
I request information from a database, and return an array with objects with a structure like the following:
data = [{
id: "Id del registro",
propiedad1 : "mi propiedad 1",
propiedad2 : "mi propiedad 2",
propiedad5 : "mi propiedad 5",
propiedad7 : "mi propiedad 7",
propiedad8 : "mi propiedad 8",
propiedad10 : "mi propiedad 10",
propiedad15 : "mi propiedad 15",
propiedad16 : "mi propiedad 16",
propiedad18 : "mi propiedad 18"
},
{...},
Miles de elementos más...];
In this arrangement I can get thousands of elements, the reason why I do not ask all the properties of the object Json
, when going to page2
I pass some of the elements of the array data, which would be one of these objects, in page2
I request the missing information to the database, I must return an array of a single element with the missing properties of the object that was passed as a parameter to page2
Example:
respuesta = [{
propiedad3 : "mi propiedad 3",
propiedad4 : "mi propiedad 4",
propiedad6 : "mi propiedad 6",
propiedad9 : "mi propiedad 9",
propiedad11 : "mi propiedad 11",
propiedad12 : "mi propiedad 12",
propiedad13 : "mi propiedad 13",
propiedad14 : "mi propiedad 14"
}];
Now, what I want is to merge all the properties into a single Json object. what he tried was the following
# page2.ts
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, ModalController, ViewController, MenuController } from 'ionic-angular';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
import { DetalleEventoPage } from '../detalle-evento/detalle-evento';
//import { AgregarEventoPage } from '../agregar-evento/agregar-evento';
/**
* Generated class for the ContenidoDisciplinaPage page.
*
* See http://ionicframework.com/docs/components/#navigation for more info
* on Ionic pages and navigation.
*/
@IonicPage()
@Component({
selector: 'page-contenido-disciplina',
templateUrl: 'contenido-disciplina.html',
})
export class ContenidoDisciplinaPage {
parte1ObjetoJson;
miObjetoJson : {
id ?: string,
propiedad1 ?: string,
propiedad2 ?: string,
propiedad3 ?: string,
propiedad4 ?: string,
propiedad5 ?: string,
propiedad6 ?: string,
propiedad7 ?: string,
propiedad8 ?: string,
propiedad9 ?: string,
propiedad10 ?: string,
propiedad11 ?: string,
propiedad12 ?: string,
propiedad13 ?: string,
propiedad14 ?: string,
propiedad15 ?: string,
propiedad16 ?: string,
propiedad17 ?: string,
propiedad18 ?: string
}
constructor(public navCtrl: NavController , public http: Http , public navParams: NavParams) {
this.parte1ObjetoJson= navParams.get('parte1ObjetoJson');
this.miObjetoJson = this.parte1ObjetoJson;
console.log(this.miObjetoJson);
let body=JSON.stringify({id: this.parte1ObjetoJson.id});
let url= "miURL";
this.http.post( url,body).map(res => res.json()).subscribe(parte2=> {
this.miObjetoJson = parte2;
console.log(this.miObjetoJson);
});
}
}
The result I get is the following:
console 1:
{ propiedad1 : "mi propiedad 1", propiedad2 : "mi propiedad 2", propiedad5 : "mi propiedad 5", propiedad7 : "mi propiedad 7", propiedad8 : "mi propiedad 8", propiedad10 : "mi propiedad 10", propiedad15 : "mi propiedad 15", propiedad16 : "mi propiedad 16", propiedad18 : "mi propiedad 18"}
console 2:
{ propiedad3 : "mi propiedad 3", propiedad4 : "mi propiedad 4", propiedad6 : "mi propiedad 6", propiedad9 : "mi propiedad 9", propiedad11 : "mi propiedad 11", propiedad12 : "mi propiedad 12", propiedad13 : "mi propiedad 13", propiedad14 : "mi propiedad 14"}
How do I get these two parts together?