微信小程序 页面导航

官方文档

页面导航方式

  • 声明式导航
    在 WXML 中使用 navigator 组件实现页面导航,示例代码如下:
<navigator
  open-type="navigate"
  url="/pages/index/index">
  声明式导航
</navigator>
  • 编程式导航
    在 JS 代码中调用微信小程序 API 实现页面导航,示例代码如下:
wx.navigateTo({ url: '/pages/index/index' })

API

navigateTo 打开某个页面

<!-- 声明式导航 -->
<navigator
  open-type="navigate"
  url="/pages/index/index">
  navigateTo
</navigator>
// 编程式导航
wx.navigateTo({ url: '/pages/index/index' })

redirectTo 关闭当前页面,打开某个页面

<!-- 声明式导航 -->
<navigator
  open-type="redirect"
  url="/pages/index/index">
  redirectTo
</navigator>
// 编程式导航
wx.redirectTo({ url: '/pages/index/index' })

switchTab 打开 tabBar 页面

<!-- 声明式导航 -->
<navigator
  open-type="switchTab"
  url="/pages/tab/tab">
  switchTab
</navigator>
// 编程式导航
wx.switchTab({ url: '/pages/tab/tab' })

navigateBack 关闭当前页面

<!-- 声明式导航 -->
<navigator open-type="navigateBack">navigateBack</navigator>
// 编程式导航
wx.navigateBack()

reLaunch 关闭所有页面,打开某个页面

<!-- 声明式导航 -->
<navigator
  open-type="reLaunch"
  url="/pages/index/index">
  reLaunch
</navigator>
// 编程式导航
wx.reLaunch({ url: '/pages/index/index' })

页面传参

  • 参数格式同 URL 的 query 参数格式
<!-- 声明式导航,传递参数 -->
<navigator
  open-type="navigate"
  url="/pages/index/index?name=张智琦&age=18">
  页面传参
</navigator>
// 编程式导航,传递参数
wx.navigateTo({
  url: '/pages/index/index?name=张智琦&age=18'
})
// 目标页面的 JS 文件
Page({
  // 接收参数
  onLoad(options) {
    const { name, age } = options
    console.log('onLoad', 'name:', name)
    console.log('onLoad', 'age:', age)
  }
})

注意事项

  1. url必须以 “/” 开头
  2. navigateTo 和 redirectTo 不允许打开 tabbar 页面
  3. switchTab 打开 tabbar 页面时,会关闭所有非 tabbar 页面
  4. reLaunch 可以打开普通页面和 tabbar 页面

代码仓库

代码仓库

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值