【UniApp】uniapp路由跳转传递与接收参数
Uniapp 是一个基于 Vue.js 的跨平台开发框架,它允许开发者使用一套代码来同时构建 iOS、Android、H5 等多个平台的应用。在 Uniapp 中,路由传参是非常常见的需求,它可以让页面之间进行数据的传递和交互。下面是对 Uniapp 路由传参的详细解析
一、传递参数
在 Uniapp 中,可以通过两种方式来传递参数:
1.通过 URL 参数传递
通过在 URL 中添加参数的方式传递数据,可以在目标页面中通过 $route.query 获取传递过来的参数。
例如,在 A 页面中跳转到 B 页面时,可以这样写
uni.navigateTo({ url: '/pages/B/B?param1=' + param1 + '¶m2=' + param2 })
在 B 页面中,可以通过以下代码获取传递过来的参数
export default { onLoad(options) { console.log(options.param1) console.log(options.param2) } }
2.通过路由跳转时传递参数
在使用 uni.navigateBack 方法返回上一个页面时,可以通过 options 参数向上一个页面传递数据。
例如,在 B 页面返回 A 页面时,可以这样写
uni.navigateBack({ delta: 1, success() { let page = getCurrentPages().pop() if (page == undefined || page == null) { return } page.setData({ data1: data1, data2: data2 }) } })
在 A 页面中,可以通过以下代码获取传递过来的参数
export default { data() { return { data1: '', data2: '' } }, onLoad() { console.log(this.data.data1) console.log(this.data.data2) } }
二、获取参数
1.在 onLoad 中获取参数
在 onLoad 生命周期中,可以通过 options 参数获取传递过来的参数。
例如,在 A 页面中跳转到 B 页面时,可以这样写
uni.navigateTo({ url: '/pages/B/B?param1=' + param1 + '¶m2=' + param2 })
在 B 页面中,可以通过以下代码获取传递过来的参数
export default { onLoad(options) { console.log(options.param1) console.log(options.param2) } }
2.在页面中通过 $route 获取参数
在页面中可以通过 $route.query 获取传递过来的参数。
例如,在 A 页面中跳转到 B 页面时,可以这样写
uni.navigateTo({ url: '/pages/B/B?param1=' + param1 + '¶m2=' + param2 })
在 B 页面中,可以通过以下代码获取传递过来的参数
export default { computed: { query() { return this.$route.query } }, mounted() { console.log(this.query.param1) console.log(this.query.param2) } }
三、总结
Uniapp 路由传参的方法有两种,分别是通过 URL 参数传递和通过路由跳传参,其中通过 URL 参数传递的方式适用于在页面之间进行简单的数据传递,而通过路由跳转时传递参数的方式适用于在页面之间进行复杂的数据传递。
在获取参数时,可以在 onLoad 生命周期中通过 options 参数获取传递过来的参数,也可以通过页面中的 $route.query 获取传递过来的参数。如果需要在返回上一个页面时传递数据,可以在 success 回调函数中通过 getCurrentPages 方法获取当前页面栈的情况,然后通过 setData 方法将数据传递给上一个页面。
总的来说,Uniapp 路由传参非常方便,开发者可以根据实际需求选择适合的方式进行数据的传递和交互。
猜你喜欢
- 【UniApp】如何在uniapp中关闭webview
- 在使用uniapp开发时,经常会需要在应用中使用webview来加载外部网页或是展示其他内容。但是,有时候我们并不需要一直保持webview的打开状态,而是需要手动关闭。那么,本文将会介绍如何在uniapp中关闭webview。一、关闭当前页面在uniapp中,我们可以使用以下方法来关闭当前webview所在的页面:uni.navigateBack({ delta: 1 });这个方法会返回到上一个页面,即关闭当前页面。二、关闭
- 【UniApp】如何在uniapp中使用表单验证技术实现输入校验
- 如何在uniapp中使用表单验证技术实现输入校验作为一种基于Vue.js的跨平台应用开发框架,UniApp可以开发同时运行在多个平台的应用程序,其支持使用表单验证技术来实现输入校验。本文将介绍在UniApp中如何使用表单验证技术来实现输入校验,并提供具体的代码示例。表单验证是一种常见的前端开发技术,用于确保用户输入的数据符合相应的规则和要求。在UniApp中实现表单验证可以通过使用Vue.js提供的指令和事件处理机制来完成。下面将结合具体示例来介绍如何在UniApp中实现表单输入校验。
- 【UniApp】uniapp跳转新页面返回白屏怎么解决
- 在使用uniapp进行开发的过程中,我们经常会遇到许多技术问题。其中,一个比较常见的问题就是跳转新页面返回白屏。在本文中,我们将会探讨这个问题,并提供解决方案。一、问题表现在使用uniapp进行开发的过程中,当我们在一个页面中跳转到另一个页面时,如果返回原页面后,发现页面已经变成了一片空白,没有显示任何内容,这就是跳转新页面返回白屏的问题。二、问题原因通常情况下,跳转新页面返回白屏的原因可能会有以下几种:1.路由配置问题路由控制是uniapp开发中的一个非常重要的环节,如果我们在进行路
- 【UniApp】uniapp中使用PhotoSphereViewer全景图
- 近期有个项目要用到全景图,就开始研究做了一个demo,每次使用一个新东西,迎接的都是挑战本案例是在uniapp中引入全景图,插入markers节点:1. 下载依赖包npm install photo-sphere-viewer安装之后下载下来的包含 three.js uevent.js photo-sphere-viewer注: 可以不用在当前项目下创建node_modules,只需要把用到的文件复制到项目目录下即可2.uniapp中使用es6引入外部
- 【UniApp】uniapp 软键盘不自动关闭怎么解决
- 随着移动互联网的发展,使用框架、工具来快速开发APP的方式成为主流,uniapp作为跨平台的开发框架在开发中有着不可替代的作用,它可以支持多种平台,同时拥有着方便快捷、代码复用率高等优点。在uniapp开发中,软键盘的使用是非常常见的,但是,有时候开发者会遇到软键盘不自动关闭的问题,这就会导致用户在使用APP时的体验差,本文将介绍如何解决uniapp软键盘不自动关闭的问题。一、问题概述在开发uniapp过程中经常会使用input元素进行输入数据,这时候键盘会自动弹出,并自动关闭,在某些
- 【Uniapp】uniapp如何传递参数
- 一、通过URL传递参数URL是一种描述文件在计算机网络中位置的方式。在uniapp中,可以通过URL传递参数。在web开发中,可以通过query string来传递参数。在uniapp中有两种方式来进行URL传参:路由跳转和h5页面跳转:1.路由跳转uniapp中提供了一些路由相关的API,其中,uni.navigateTo和uni.redirectTo这两个API可以在跳转时携带参数。在跳转时,可以将参数以对象的形式传递给URL,并以query string(查询字符串)的形式来表示。如下所示
- 【UniApp】UniApp原生讯飞语音插件-YL-SpeechRecognition
- 由于插件文档图片部分可能无法显示,可以移步到CSDN博客,查看完整文档:https://blog.csdn.net/baiyuliang2013/article/details/130925332插件说明:支持安卓IOS双端!新版本已由必须联系本人打离线包,升级为线上购买后自主导入sdk打包,更方便快捷!当然,您在使用时遇到问题依然可以联系本人QQ:453503875,微信:同qq。若您只需要安卓端,可使用:Uts版插件:https://ext.dcloud.net.cn/plugin?id=1
- 【UniApp】uniapp应用如何实现绘画训练和动画制作
- uniapp应用如何实现绘画训练和动画制作引言:随着移动互联网技术的不断发展,移动应用程序的开发变得越来越普遍。uniapp作为一款基于Vue.js框架的跨平台开发工具,为开发人员提供了一种简单高效的方式来构建跨平台的应用程序。本文将介绍如何使用uniapp实现绘画训练和动画制作,并附上具体的代码示例。一、绘画训练实现绘画训练可以让用户提升艺术技巧和创造力,uniapp提供了Canvas组件来实现绘画功能。下面是一个简单的绘画训练应用的示例代码:在uniapp的pages目录下创建一个
- 【UniApp】Uniapp 本地插件安装教程
- 【Vue】Antd Pro Vue的使用(四)—— 打包发布到站点二级目录,生产环境请求接口配置
- 【PHP】PHP 8.3 大升级:20 个新特性全面解析
- 【Vue】Vue3 开发实战分享——打印插件 Print.js 的使用(Vue3 + Nodejs + Print.js 实战)以及 el-table 与 el-pagination 的深入使用(上)
- 【JavaScript】5个最受欢迎的图像处理JS库
- 【CSS】在H5开发中常见的position属性的应用场景
- 【PHP】php如何去掉数组内重复元素
- 【UniApp】移动框架对比:uniapp和flutter选哪个好
- 【HTML】必应地图BingMaps的使用
- 【UniApp】uniapp的标题怎么动态修改