[Uniapp]携带参数跳转界面(两种方法)

一、方法1:路由携参

假设现在有两个界面:界面A和界面B。并要由界面A跳转到界面B,则我们可以使用

uni.navigateTo({})

跳转界面时,将参数附加在URL后,并在B界面的onLoad()获取到这个参数

界面A的代码

javascript 复制代码
<script>
	export default {
		data() {
			return {
				paramPageA: [],  //在A界面中定义的变量,一会要传送给界面B
			}
		},
		methods: {
			onGo() {
				uni.request({
					url: "接口地址",
					method: "GET",
					success(res) {
						this.paramPageA = res.data.data; 
						const paramJson = JSON.stringify(this.paramPageA);


                        //主要看下面这段代码
						uni.navigateTo({
							url: '/pages/PageB/PageB?
activityList='+encodeURIComponent(paramJson)                         
						})
                        //先把A界面要传送的参数转化成JSON形式
                        //然后以encodeURIComponent的形式拼接到URL后方传送
                        //主要看上面这段代码


					}

				});

			}
		}
	}
</script>

界面B的代码

javascript 复制代码
onLoad() {
			// 从URL参数中获取paramPageA,并解析为JSON对象  
			const paramPageB = decodeURIComponent(this.$route.query.paramJson);
			this.paramPageBJSon = JSON.parse(paramPageB);
            //界面B中定义的参数
			console.log("接收到的参数", this.paramPageJson);
		},

二、方法2:依靠全局变量传参

首先在main.js文件中这样定义全局变量

javascript 复制代码
Vue.prototype.$globalData = {  //在此定义所有全局变量
	allUrl:"http://localhost:8888",   //统一URL地址
	myToken:null,   //校验token值
	paramPage:"",   //要传的参数
}

在界面A中这样修改全局变量

javascript 复制代码
this.$globalData.paramPage = res.data.data;

之后在界面B中直接引用即可

相关推荐
叼烟扛炮6 小时前
[LangChain] 学习笔记(03):打破失忆症——对话机制与上下文管理
java·前端·javascript·笔记·学习·langchain
卋罖7507 小时前
Razor 视图 + JavaScript + Vue/iView 组件实现的表格自定义列
javascript·vue·iview·razor视图
IT_陈寒8 小时前
SpringBoot实战技巧总结
前端·人工智能·后端
TeamDev8 小时前
使用 JxBrowser 在桌面应用中集成 Spring
java·前端·后端·spring·混合应用·jxbrowser·浏览器控件
陈随易9 小时前
Rolldown 把插件改动回传提速 26 倍
前端·后端·程序员
笃行35016 小时前
集中式与分布式,KingbaseES 的四种形态共用一套内核
前端
陈随易18 小时前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
ZhengEnCi19 小时前
12 种高级 UI 交互效果及对应 AI 提示词:从按压回弹到底部抽屉的物理感教学
前端·css·交互设计
IT_陈寒1 天前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
系统集成-鹰翔1 天前
ERP图片改名后仍命中识别缓存:缓存键、十分钟到期与调用计数
javascript·经验分享·后端