当前位置: 首页 > news >正文

uniApp:路由与页面跳转及传参

方式一:声明式导航

声明式导航,通过组件进行跳转。官方文档:详情
使用 navigator 组件进行页面跳转。

属性类型默认值说明
urlString应用内的跳转链接,值为相对路径或绝对路径,如:“…/first/first”,“/pages/first/first”,注意不能加 .vue 后缀
open-typeStringnavigate跳转方式
  • open-type 有效值

    说明
    navigate保留当前页面,跳转到应用内的某个页面。 对应 uni.navigateTo 的功能
    redirect跳转到详情页,并关闭当前页面。 对应 uni.redirectTo 的功能
    switchTab跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。 对应 uni.switchTab 的功能
    reLaunch对应 uni.reLaunch 的功能
    navigateBack对应 uni.navigateBack 的功能
    exit退出小程序,target="miniProgram"时生效
    <template><view><navigator url="/pages/detail/detail">跳转至详情页</navigator><!-- 跳转至TabBar页面需要属性 switchTab --><navigator url="/pages/message/message" open-type="switchTab">跳转至信息页</navigator></view>
    </template>
    

方式二:编程式导航

编程式导航,通过 API 进行跳转。官方文档:详情

uni.navigateTo

保留当前页面,跳转到应用内的某个页面,通过 uni.navigateTo 可以返回原页面。

uni.navigateTo 参数类型必填说明
urlString需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 ‘path?key=value&key2=value2’,path为下一个页面的路径,下一个页面的onLoad函数可得到传递的参数
animationTypeString窗口显示的动画效果,详见:窗口动画
animationDurationNumber窗口动画持续时间,单位为 ms
eventsObject页面间通信接口,用于监听被打开页面发送到当前页面的数据。2.8.9+ 开始支持。
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
<template><view><button type="default" @click="goDetail">跳转至详情页</button></view>
</template><script>
export default {methods: {goDetail() {uni.navigateTo({url: '../detail/detail'})}}
}
</script>

uni.switchTab

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
注意: 如果调用了 uni.preloadPage(OBJECT) 不会关闭,仅触发生命周期 onHide

参数类型必填说明
urlString需要跳转的 tabBar 页面的路径(需在 pages.json 的 tabBar 字段定义的页面),路径后不能带参数
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

uni.redirectTo

关闭当前页面,跳转到应用内的某个页面。
注意:跳转到 tabBar 页面只能使用 switchTab 跳转。

参数类型必填说明
urlString需要跳转的应用内非 tabBar 的页面的路径,路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 ‘path?key=value&key2=value2’
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)
<template><view><button type="default" @click="redirectDetail">跳转到详情页,并关闭当前页面</button></view>
</template><script>export default {methods: {redirectDetail() {uni.redirectTo({url: '/pages/detail/detail?id=80'})}},onUnload() {console.log('导航页面已卸载')}}
</script>

路由跳转传参

通过 url 地址进行传参,再通过 onload 生命周期函数的 options 参数进行接收。

  • 多个参数之间用 & 进行连接。
  • 声明式导航

    通过url后面加 ?参数=值 进行传参,多个参数之间用 & 进行连接。

    <template><view><!-- 通过url后面加 ?参数=值 进行传参 --><navigator url="/pages/detail/detail?id=80">跳转至详情</navigator></view>
    </template>
    
    <!-- 通过onload生命周期函数中的options值进行接收 -->
    <script>
    export default {onload(options) {console.log(options)}
    }
    </script>
    
  • 编程式导航

    通过url后面加 ?参数=值 进行传参,多个参数之间用 & 进行连接。

    <template><view><button type="default" @click="goDetail">跳转至详情页</button></view>
    </template><script>export default {methods: {goDetail() {uni.navigateTo({url: '/pages/detail/detail?id=80&age=18'})}}}
    </script>
    
    <!-- 通过onload生命周期函数中的options值进行接收 -->
    <script>
    export default {onload(options) {console.log(options)}
    }
    </script>
    
http://www.lryc.cn/news/94383.html

相关文章:

  • Java中操作文件(二)
  • springboot+vue在线考试系统(java项目源码+文档)
  • 样式方案:在 Vite 中接入现代化的 CSS 工程化方案
  • C#获取根目录实现方法汇总
  • vue获取当前坐标并通过天地图逆转码为省市区
  • 【MySQL】事务及其隔离性/隔离级别
  • 计算机由于找不到d3dx9_35.dll,无法启动软件游戏的三个修复方法
  • 第三章 模型篇:模型与模型的搭建
  • 深度学习一些简单概念的整理笔记
  • Vue3中引入Element-plus
  • 如何查看 Facebook 公共主页的广告数量上限?
  • U-Boot移植 (2)- LCD 驱动修改和网络驱动修改
  • Ubuntu 23.10 现在由Linux内核6.3提供支持
  • Python 学习之NumPy(一)
  • Nftables栈溢出漏洞(CVE-2022-1015)复现
  • 【C++】 Qt-事件(上)(事件、重写事件、事件分发)
  • k8s部署springboot
  • 备战秋招002(20230704)
  • 游泳买耳机买什么的比较好,列举几款实战性好的游泳耳机
  • 【无线传感器】使用 MATLAB和 XBee连续监控温度传感器无线网络研究(Matlab代码实现)
  • Java基础-多线程JUC-生产者和消费者
  • day2 QT按钮与容器
  • JPA 批量插入较大数据 解决性能慢问题
  • 为啥离不了 linux
  • 基于分形的置乱算法和基于混沌系统的置乱算法哪种更安全?
  • pve使用cloud-image创建ubuntu模板
  • shiro入门
  • 开源 sysgrok — 用于分析、理解和优化系统的人工智能助手
  • Gitlab保护分支与合并请求
  • ad18学习笔记九:输出文件