0

0

uniapp不同页面传参

WBOY

WBOY

发布时间:2023-05-26 12:19:37

|

1727人浏览过

|

来源于php中文网

原创

随着移动互联网的普及,移动端应用的开发也越来越受到关注。uniapp作为目前最受欢迎的跨平台开发框架之一,被广泛应用于移动端应用的开发中。在uniapp的开发中,如何进行不同页面之间的传参是一个很常见的问题,本文将从几个方面介绍如何在uniapp中进行不同页面之间的传参。

一、query传参

在Uniapp中,可以通过页面的query参数进行传参。例如,我们可以在首页中通过点击按钮跳转到详情页,并将商品id传递给详情页,代码实现如下:

// 首页中的跳转代码
uni.navigateTo({
url: '/pages/detail/detail?id=' + this.goodsId
});

// 详情页中的获取代码
onLoad(options) {
this.goodsId = options.id;
}

在首页中,我们通过uni.navigateTo方法跳转到详情页,并将商品id通过query参数传递给了详情页。在详情页中,我们通过onLoad方法中的options参数获取到传递过来的商品id,并将其赋值给详情页对应的变量goodsId。

二、Vuex传参

在Uniapp中,可以使用Vuex进行不同页面之间的传参。Vuex是一个专门为Vue.js框架设计的状态管理库,可以实现不同组件之间的状态共享。在Uniapp中,可以在Vuex中定义一个全局变量,并在需要传参的页面中引入Vuex,从而实现页面之间的参数传递。

例如,我们可以在Vuex的state中定义一个全局变量goodsId,在首页中改变该变量的值,在详情页中获取该变量的值,代码实现如下:

// 在Vuex的state中定义全局变量goodsId
state: {
goodsId: ''
}

// 在首页中改变该变量的值
methods: {
jumpToDetail() {

this.$store.state.goodsId = '123456';
uni.navigateTo({
  url: '/pages/detail/detail'
});

}
}

// 在详情页中获取该变量的值
computed: {
goodsId() {

return this.$store.state.goodsId;

}
}

在首页中,我们通过this.$store.state.goodsId给全局变量goodsId赋值,并通过uni.navigateTo方法跳转到详情页。在详情页中,我们通过computed属性获取到Vuex中的goodsId变量,从而获取传递过来的值。

三、事件总线传参

在Uniapp中,我们还可以使用事件总线进行不同页面之间的传参。事件总线是一种设计模式,允许不同组件之间通过监听事件和触发事件来进行通信和参数传递。在Uniapp中,可以使用uni.$emit和uni.$on方法来实现事件的监听和触发。

例如,我们可以在首页通过uni.$emit方法触发事件,并在详情页中通过uni.$on方法监听该事件,从而实现参数的传递,代码实现如下:

// 在首页中使用uni.$emit触发事件
methods: {
jumpToDetail() {

uni.$emit('goodsId', '123456');
uni.navigateTo({
  url: '/pages/detail/detail'
});

}
}

// 在详情页中使用uni.$on监听事件
onLoad() {
uni.$on('goodsId', (goodsId) => {

this.goodsId = goodsId;

});
}

在首页中,我们通过uni.$emit方法触发名称为'goodsId'的事件,并将商品id '123456'作为参数传递。在详情页中,我们通过onLoad方法中的uni.$on方法监听名称为'goodsId'的事件,并将传递过来的商品id赋值给详情页对应的变量goodsId。

综上所述,Uniapp中进行不同页面之间的传参可以通过query传参、Vuex传参以及事件总线传参进行实现。开发者可以根据实际需求选择合适的方法进行参数的传递,以便更好地实现应用程序的功能需求。

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
vue.js为什么报错
vue.js为什么报错

vue.js报错的原因:1、语法错误;2、组件使用不当;3、数据绑定问题;4、生命周期钩子使用不当;5、插件或依赖问题;6、路由配置错误;7、异步操作处理不当等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

120

2024.03.11

vue.js插槽有哪些用
vue.js插槽有哪些用

vue.js插槽的作用:1、提高组件的可重用性;2、实现组件的灵活布局;3、实现组件间的数据传递和交互;4、促进组件的解耦和模块化。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

171

2024.03.11

vue.js怎么带参数跳转
vue.js怎么带参数跳转

vue.js带参数跳转的方法:1、定义路由;2、在组件中使用路由参数;3、进行带参数的跳转。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

90

2024.03.11

全局变量怎么定义
全局变量怎么定义

本专题整合了全局变量相关内容,阅读专题下面的文章了解更多详细内容。

75

2025.09.18

python 全局变量
python 全局变量

本专题整合了python中全局变量定义相关教程,阅读专题下面的文章了解更多详细内容。

96

2025.09.18

js正则表达式
js正则表达式

php中文网为大家提供各种js正则表达式语法大全以及各种js正则表达式使用的方法,还有更多js正则表达式的相关文章、相关下载、相关课程,供大家免费下载体验。

510

2023.06.20

js获取当前时间
js获取当前时间

JS全称JavaScript,是一种具有函数优先的轻量级,解释型或即时编译型的编程语言;它是一种属于网络的高级脚本语言,主要用于Web,常用来为网页添加各式各样的动态功能。js怎么获取当前时间呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

244

2023.07.28

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

256

2023.08.03

Golang gRPC 服务开发与Protobuf实战
Golang gRPC 服务开发与Protobuf实战

本专题系统讲解 Golang 在 gRPC 服务开发中的完整实践,涵盖 Protobuf 定义与代码生成、gRPC 服务端与客户端实现、流式 RPC(Unary/Server/Client/Bidirectional)、错误处理、拦截器、中间件以及与 HTTP/REST 的对接方案。通过实际案例,帮助学习者掌握 使用 Go 构建高性能、强类型、可扩展的 RPC 服务体系,适用于微服务与内部系统通信场景。

8

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号