微信小程序中页面之间传值和拿值的归纳

传值和拿值归纳,

一、微信的缓存

传值——利用微信的缓存
b页面传wx.setStorageSync(“b_data”,“b页面的数据”);
拿值——利用微信缓存
在a页面可以用wx.setStorageSync(“b_data”)进行取值;
微信的缓存API区别,未作过多阐释(同步异步啊之类的)

二、url拼接

传值——利用路由跳转在url中拼接传值
b页面跳a页面,
wx.navigateTo({url: "/packageA/pages/B页面/index?b_data});
注意事项:
简单数据类型利用?进行传参,多个值利用&进行并列传参。

复杂数据类型利用JSON.Stringify进行传参
拿值——利用路由跳转在url中拼接传值
a页面中,在onload(query){}或者onshow(query){}中进行拿值,query.b_data就能拿到传的参数。

三、getCurrentPage()

传值——利用getCurrentPage()
a页面跳b页面,b页面使用getCurrentPage()会返回页面的数组,每个数组元素为页面对象,页面对象可以拿到页面中data的数据。
拿值——利用getCurrentPage()
如果是在a页面使用getCurrentPage(),则只能在a页面的onshow(query)中拿到,因为再次返回只执行onshow方法,
let pages = getCurrentPages(); //获取路由路径
let b_data = pages[0].data;//b_data为第一个页面栈中data数据

四、全局变量

传值——利用全局变量
在app.js当中globalData中定义全局变量b_data。
拿值——利用全局变量
无论是a页面还是b页面,在页面中直接getApp().globalData.b-data,就能拿到这个值。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值