小程序页面传递数据

1. 在微信小程序开发过程中,A页面跳转到B页面,并且把A页面的数据传递到B页面中使用

(1)使用本地缓存

// A页面中通过setStorageSync在本地缓存数据
wx.setStorageSync('key','value')

// B页面中通过getStorageSync读取键值来获取
wx.getStorageSync('key')

(2)通过页面路由

  在使用url进行参数传递时候,传递数据有字节限制,如果要传递对象,需要先把对象通过JSON.stringify转换成字符串,接收或再通过JSON.parse转换成对象

// 在A页面传递数据到B页面中,多个参数使用 & 符号拼接


// page A
wx.navigateTo({
    url:'test?id=1&pid=2'
})

或

wx.redirectTo({
    url:'test?id=1'
})

// wx.navigateTo和wx.redirectTo不能跳转tabbar页面
// wx.switchTab可以跳转tabbar页面,但是不能传递参数
// wx.reLaunch关闭所有页面,打开到应用内的某个页面,可以跳转到tabbar页面

wx.reLaunch({
    url:'test?id=1'
})


// page B 

page({
    onLoad:function(options){
        console.log(options)
    }  
})

2. 往组件模板中传递数据,可以直接在模板的data中传递数据

<template is="模板名" data="数据对象" />

3. 通过页面栈获取到上一页面对数据进行修改或定义

A页面跳转到B页面

// page A
page({
    data:{
        info:'1111'
    }
})

// page B
page({
    var pages=getCurrentPages();    //获取当前页面栈,以数组形式顺序给出,第一个是首页,最后一个为当前页面
    var prevPage=pages[pages.length-2];    //即A页面
    prevPage.setData({
        info:'2222',    //修改
        name:'张三'     //添加   
    })        
})

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值