2017-11-26 20 views
0

Ich habe eine einfache Seite mit einem Benutzernamen. Dieser Benutzer hat eine Schaltfläche mit seiner ID. Wenn Sie auf klicken, gehen wir auf eine andere Seite, auf der weitere Details zu diesem Benutzer angezeigt werden. Das Problem ist, dass ich Params nicht auf die zweite Seite weitergeben kann.Parameter zwischen Ionic3 Seiten

Ich habe diesen Code auf der ersten Seite.

export class VisitasPage { 
    public data: any; 
    public data2: any; 

    constructor(public navCtrl: NavController, public visitas: VisitasServiceProvider) { 
    this.verVisitas(); 
    } 

    verVisitas(){ 
    this.visitas.Visitas() 
    .then(data => { 
     this.data = data; 
    }); 
    } 

    verDetalles(id:any){ 
    this.visitas.verVisita(id) 
    .then(data2 => { 
     this.data2 = Array(data2); 
    }); 
    this.navCtrl.push(DatosPage, { 
     animate: true, 
     data:this.data2 
    }); 
    } 

Als ich setzen {{Daten}} in der zweiten Seite console.log() zeigen nicht definiert und soll eine Anordnung haben. Irgendeine Hilfe?

Antwort

1

ich nicht, wie versuchen Sie diesen Wert in den Details Seite, aber die richtige Art und Weise zu bekommen, um das zu Senden und Empfangen von Daten von einer Seite ist, wie Sie in this stackblitz project sehen können.

HomePage

import { Component } from '@angular/core'; 
import { NavController } from 'ionic-angular'; 
import { DetailsPage } from '../../pages/details/details'; 

@Component({ 
    selector: 'page-home', 
    templateUrl: 'home.html' 
}) 
export class HomePage { 

    public ids = [1,2,3,4,5]; 

    constructor(public navCtrl: NavController) {} 

    public onOpenDetails(): void { 
    this.navCtrl.push(DetailsPage, { data: this.ids}); 
    } 

} 

Detailseite anzeigen

import { Component } from '@angular/core'; 
import { NavParams } from 'ionic-angular'; 

@Component({ 
    selector: 'page-details', 
    templateUrl: 'details.html' 
}) 
export class DetailsPage { 

    public dataIds: Array<number>; 

    constructor(public navParams: NavParams) { 
    this.dataIds = this.navParams.get('data'); 
    } 

} 
+1

Das Problem, das es nicht eine ganze Zahl oder eine Zeichenfolge ist, ich versuche, um eine Anordnung zu der zweiten Seite zu senden. Ich weiß nicht genau, wie diese Art von Daten gesendet werden. –

+0

Es ist genau das Gleiche, es spielt keine Rolle für den Typ des Parameters. Bitte werfen Sie einen Blick auf das Stackblitz-Projekt, ich habe den Code zum Senden und Empfangen und Array von Zahlen aktualisiert. @ElHombreSinNombre – sebaferreras