Ionic 3 NavParams将数据从第1页推送到第3页

时间:2018-10-04 09:08:05

标签: ionic-framework ionic3 navparams

我正在处理具有多个不同页面的应用程序,我需要一些帮助。

我的应用程序从Parse中的数据库中检索数据,并且我正在使用提供程序以便将这些数据共享到我的其他页面。

我的主页(第1页)要求用户选择城市。根据用户的选择,下一页(第2页)将显示该城市的特定数据,并具有指向第3页的资源的链接。

我的问题是,第3页列出了所有城市的数据,而不是第1页中选择的城市。

是否可以将数据从第1页传递到第2页和第3页?

到目前为止,我已经尝试过:

第1页:

selectCity(item) {
      this.navCtrl.push( {item : item} };
}

第2页:

city: any;
this.city = this.navParams.get(‘item’);

// there is an array ‘resource’ which contains names of different pages. this method pushes the selected page. 

selectResource() {
      this.navCtrl.push(resource.page)
}

第3页:

city: any;

this.city = this.navParams.get(‘item’);

当我尝试在控制台日志中显示this.city的值时,它显示为undefined。

1 个答案:

答案 0 :(得分:1)

按下页面并添加参数,如下所示:

this.navCtrl.push(resource.page, {item: item});

请注意,您在item

第2页上缺少第二个参数 selectResource()

像这样在第3页上检索数据(例如在构造函数中)

this.city = this.navParams.get('item');

还请注意,您可能想使用提供程序。这使您可以在整个应用程序中共享数据。

在这里您将找到有关以下内容的更多信息: https://www.gajotres.net/ionic-2-sharing-data-between-pagescomponents/2/