wx页面跳转数据传递

前言

我们在写小程序的时候经常会遇到子页面向主页面回传数据或者普通页面跳转到tabBar 页面携带数据

下面写了四种方法大家根据自己的实际场景来选择使用哪种

wx.navigateTo(OBJECT)

  • 可以传递参数
  • 会存入页面路径栈(目前页面路径最多只能十层)
  • 可以通过 navigateBack 返回
  • 不能跳转到带 tabBar 页面
1
2
3
wx.navigateTo({
url: 'test?key=value&key2=value2'
})

wx.redirectTo(OBJECT)

  • 可以传递参数
  • 不会存入页面路径栈
  • 不能通过 navigateBack 返回
  • 不能跳转到带 tabBar 页面
1
2
3
wx.redirectTo({
url: 'test?key=value&key2=value2'
})

wx.switchTab(OBJECT)

  • 不可以传递参数
  • 不会存入页面路径栈
  • 不可以通过 navigateBack 返回
  • 只跳转到带 tabBar 页面并关闭其他所有非 tabBar 页面
1
2
3
4
5
6
7
8
9
10
11
12
13
{
"tabBar": {
"list": [{
"pagePath": "index",
"text": "首页"
},{
"pagePath": "other",
"text": "其他"
}]
}
wx.switchTab({
url: '/index'
})

tabBar 最少要有二个菜单, 最多5个

wx.navigateBack(OBJECT)

  • 关闭当前页面,返回上一页面或多级页面。
  • 可通过 getCurrentPages() 获取当前的页面栈,决定需要返回几层。
  • 不可以传递参数
  • 返回上一页面或多级页面
1
2
3
wx.navigateBack({
delta: 2
})

delta 参数: 返回的页面数,如果 delta 大于现有页面数,则返回到首页。

Buy me a cup of coffee,thanks!