[小程序]页面跳转

一、页面跳转

1.声明式导航

使用<navigate>组件实现(固定式),需要指定url 属性(跳转位置)和open-type属性(跳转方式)

①跳转tabBar页面

open-type 属性必须指定类型为switchTab

复制代码
<navigator url="/pages/index/index" open-type="switchTab">跳转index页</navigator>

②跳转非tabBar页面

open-type 属性必须指定位置navigate(可以缺省)

复制代码
<navigator url="/pages/logs/logs" open-type="navigate">跳转log页</navigator>

③后退导航

open-type 值为navigateBackdelta值为数字,表示返回的层级(默认为1)

复制代码
<navigator open-type="navigateBack" delta="1">返回上一级</navigator>

2.编程式导航

①跳转tabBar页面

调用API实现,使用**wx.switchTab(Object object)**方法来跳转,object对象中包含以下属性:

|----------|-----------|
| url | 跳转链接(必填项) |
| success | 成功时回调函数 |
| fail | 失败时回调函数 |
| complete | 结束时回调函数 |

复制代码
<button bindtap='goIndex'>跳转Index页</button>

goIndex(){
    wx.switchTab({
      url: '/pages/index/index',
    })
  },

②跳转非tabBar页面

调用wx.navigateTo实现,参数列表同上

复制代码
  goLogs(){
    wx.navigateTo({
      url: '/pages/logs/logs',
    })
  },

③返回导航

调用wx.navigateBack实现(不需要指定delta属性)

复制代码
  goBack(){
    wx.navigateBack()
  },

二、导航传参

1.声明式导航传参

类似于http中的GET指令,参数与路径之间使用 ? 进行分隔;参数键与参数之间以 = 相连;不同参数之间用 & 隔开。

复制代码
<navigator url="pages/show/show?name=Alice&age=18">跳转Show页</navigator>

2.编程式导航传参

基本和声明式一致,使用参数路径的方式传参

复制代码
  goShow(){
    wx.navigateTo({
      url: '/pages/show/show?name=Coco&age=22',
    })
  },

3.接收参数

传递给页面的参数可以在对应的onLoad参数中获取,如下:

复制代码
  onLoad(options) {
    this.setData({name:options.name})
    this.setData({age:options.age})
  },
相关推荐
悟空瞎说2 分钟前
Git 协作工作流详解:从个人单打独斗到规模化团队协同
前端·git
颜进强5 分钟前
20-Spec-Kit Tasks 是怎么把技术方案拆成可执行任务的?
前端·后端·ai编程
程序员鱼皮5 分钟前
Cursor 零基础实战教程,夯爆了!带你速通 6 大核心能力
前端·后端·ai编程
颜进强6 分钟前
14-Spec-Kit、SDD 和 OpenSpec 到底有什么区别?其实核心思想都一样:先写清楚,再让 AI 干活
前端·后端·ai编程
颜进强6 分钟前
16-Spec-Kit 是什么?先从整体流程机制讲起
前端·后端·ai编程
悟空瞎说10 分钟前
QML 集成 WebView 开发桌面内嵌浏览器实战
前端
闪电悠米12 分钟前
黑马点评-Redisson-02_reentrant_lock
java·spring boot·redis·分布式·缓存
云烟成雨TD16 分钟前
Spring AI Alibaba 1.x 系列【67】ReactAgent SSE 流式输出
java·人工智能·spring
前端与小赵24 分钟前
快速生成安卓证书并打包生成安卓apk(保姆教程)
android·前端
我登哥MVP28 分钟前
Spring Boo从“会用”到“精通”:Spring Boot 入门
java·spring boot·后端·spring·maven·intellij-idea·mybatis