在页面之间传递参数 ionic

passing parameter between pages ionic

嗨,我是 ionic 的新手,我正在尝试将扫描信息从一页传递到另一页,当我执行程序时,我有一个 console.log 来检查信息是否是它的正确传递但在 chrome 控制台上显示未定义,让我粘贴我的代码:

home.ts 我尝试从扫描中发送信息:

import { Component } from '@angular/core';
import { NavController,Platform } from 'ionic-angular';
import { BarcodeScanner } from '@ionic-native/barcode-scanner';
import { TabsPage } from '../tabs/tabs';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
   private barcodeText:String;
   private barcodeFormat:String;
   private platform:Platform;   
   private navController:NavController;

  constructor(private barcodeScanner: BarcodeScanner,public navCtrl: NavController,platform:Platform) {
       this.platform = platform;
      this.navController = navCtrl;
  }

  doScan(){
        console.log('scannig product barcode');
        this.platform.ready().then(() => {
           this.barcodeScanner.scan().then((result) => {
                if (!result.cancelled) {
                    this.barcodeText = result.text;
                    this.scanningDone(this.barcodeText)

                }
            }, (error) => {
                console.log('error when scanning product barcode');

            });
        });         
  }

  scanningDone(data){
        this.navController.push(TabsPage,{
          data:data
    });
  }

main.ts 信息应该去哪里:

import { Component } from '@angular/core';
import { NavController, NavParams , ToastController} from 'ionic-angular';
import { BarcodeScanner } from '@ionic-native/barcode-scanner';
import { DetailsPage } from '../details/details';
import { Http } from '@angular/http'

@Component({
  selector: 'main',
  templateUrl: 'main.html'
})
export class MainPage {
    information: any[];
    item:any;
     private bcData;
        constructor(public navCtrl: NavController, private http: Http,public params:NavParams) {

            this.bcData = params.get('data');
            console.log(params.get('data'));
            let localData = http.get(this.bcData).map(res => res.json().items);
            localData.subscribe(data => {
            this.information = data;
         })
     }

在 console.log(params.get('data'));它是我在控制台上获得未定义的地方。

使用localStorage怎么样 也看看 this

您可以在 TabsPage 中使用一个方法来处理打开和关闭页面,如下所示:

openPages(Page, Data){
this.navCtrl.push(Page,Data);
}

然后在你的scanningDone方法中:

scanningDone(data){
    this.tabsPage.openPages(MainPage,{
      data:data
 });
}