微信小程序携带参数跳转页面/获取页面栈

时间:2022-09-18 16:58:27

页面跳转携带参数(以传递两个参数为例)

a.wxml 页面传递
1 <navigator url="/pages/b/b?id=1&sid='289'"> <navigator> wx.navigateTo跳转携带参数
1 wx.navigateTo({
2   url: '/pages/a/a?id=1 + "&tu=" + 'a.jpg'
3 }); 多个参数使用 & 连接 也可以写成这样(提倡)
1 var id=that.data.id;
2 var tu = that.data.id;
3 wx.navigateTo({
4   url: `/pages/a/a?id=${id}&tu=${tu}`
5 }); 需要携带的参数是个对象和数组时如何?抱歉,不可以! 这时可以将对象和数组转成字符串
   1 let args = JSON.stringify(params);  // 转成字符串携带
2 wx.navigateTo({
3   url: `/pages/a/a?args=${args}`
4 }); 跳转页面进行解析即可,在onload中捕获参数
   1 let args = JSON.parse(options.args);  // 解析回对象或字符串
 
  当需要携带的参数太大,数据多如何?比如购物车到结算页面,大量参数需要从购物车获取,这样传值就太恶心了!
 
  可以隔空取参数!!!
 
  微信有提供这样的api吗?,抱歉,没有!
  但提供了获取页面栈的方法!
 
 1.  let pages = getCurrentPages();
 2.  let that = pages[pages.length - 2];
 
 获取上一个页面的信息
 1. that.data 就为上一个页面的data数据
 
 操作上一个页面的显示
 2. that.setData({
 3.   url: false  //   上一个页面的参数设置
 4.  })
 
#是不是很