首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >页间传递参数离子

页间传递参数离子
EN

Stack Overflow用户
提问于 2017-07-18 12:57:48
回答 2查看 359关注 0票数 0

嗨,我是离子型的新手,我试图把扫描信息从一个页面传递到另一个页面,当我执行程序时,我有一个console.log来检查信息是否正确传递,但是在铬控制台上没有定义,请粘贴我的代码:

在home.ts中,我试图从扫描中发送信息:

代码语言:javascript
复制
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,其中的信息应该是:

代码语言:javascript
复制
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’))上,在控制台上得到未定义的信息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-18 13:25:31

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

代码语言:javascript
复制
openPages(Page, Data){
this.navCtrl.push(Page,Data);
}

然后在您的scanningDone方法中:

代码语言:javascript
复制
scanningDone(data){
    this.tabsPage.openPages(MainPage,{
      data:data
 });
}
票数 0
EN

Stack Overflow用户

发布于 2017-07-18 13:15:05

使用localStorage如何同时查看

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45167505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档