Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Ionic3页面之间的参数_Angular_Typescript_Ionic2_Ionic3 - Fatal编程技术网

Angular Ionic3页面之间的参数

Angular Ionic3页面之间的参数,angular,typescript,ionic2,ionic3,Angular,Typescript,Ionic2,Ionic3,我有一个带有用户名的简单页面。此用户有一个带有其id的按钮,当单击“我们转到另一个显示此用户更多详细信息的页面”时。问题是我无法将参数传递到第二页 我在第一页有这个代码 export class VisitasPage { public data: any; public data2: any; constructor(public navCtrl: NavController, public visitas: VisitasServiceProvider) { this.

我有一个带有用户名的简单页面。此用户有一个带有其id的按钮,当单击“我们转到另一个显示此用户更多详细信息的页面”时。问题是我无法将参数传递到第二页

我在第一页有这个代码

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
    });
  }

当我将{data}}放在第二个页面console中时,log()show未定义并且应该有一个数组。有什么帮助吗?

我不知道您是如何在“详细信息”页面中获取该值的,但是从一个页面发送和接收数据的正确方式就像您在中看到的那样

主页

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});
  }

}
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');
  }

}
详细信息页面

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});
  }

}
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');
  }

}
从'@angular/core'导入{Component};
从“离子角度”导入{NavParams};
@组成部分({
选择器:“页面详细信息”,
templateUrl:'details.html'
})
导出类详细信息页面{
公共数据标识:数组;
构造函数(公共navParams:navParams){
this.dataIds=this.navParams.get('data');
}
}

问题是它不是整数或字符串,我尝试将数组发送到第二页。我不知道如何发送这种类型的数据。完全一样,参数的类型无关紧要。请看一下stackblitz项目,我已经更新了发送和接收的代码以及数字数组@埃尔霍姆布雷辛诺姆布雷