小程序传参

本文详细介绍小程序中页面跳转时参数传递的方法,包括使用URL参数、storage存储和JSON转换技巧。同时,讲解了如何在小程序加载时捕获参数,以及不同场景下referrerInfo的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果小程序中页面跳转使用传参频繁,那在这里不建议使用微信源生的tabBar

在微信官方文档中,跳转到tabBar页面时是不允许传参的

微信小程序tabBar页面跳转

这里的tabBar尽量自己写一个,而且官方的页面底部tab对样式有限制,并不是所有的样式都能满足

小程序对tab的约束

页面跳转时的传参

  1. 页面间的参数可以直接挂在URL上
    在这里插入图片描述

和网页间参数传递一样的用法,但是在获取参数时可以使用 wx.getLaunchOptionsSync() 来获取到, query 下的数据就是传递的参数, 这里的参数并不是一开始的参数, 这个参数是实时的,每传递一次参数,这里的query中的内容都会是你当前页面的参数
进入页面时可以直接在页面的onLoad中捕获到用户传递的参数

Page({
	onLoad(res) {
		// res里的query就是用户传递的参数
	}
})
  1. 传递对象/数组
    小程序中没有直接传递对象/数组的方法,但是小程序中的storage可以保存对象/数组类型的数据 :
    1️⃣可以先将数据在页面跳转之前保存到storage中,跳转完成之后,在新页面中获取保存的数据,再将保存的数据remove.但是这个方法并不推荐使用,使用不仅不方便,而且会影响小程序执行的速度
    2️⃣将数据使用Json.stringify转换成字符串,然后挂到URL上,使用URL传递参数,在新页面中使用Json.parse将参数从字符串转换成对象/数组

  2. 进入小程序时携带参数
    有时进入小程序时就需要携带参数,进入小程序时,可以在小程序的入口文件onLaunch和onShow中捕获到所有的参数,也可以在页面中使用wx.getLaunchOptionsSync()来获取到传入的参数.

App({
	onLaunch: function (options) { 
		// 小程序加载时执行的函数
	},
	onShow: function (options) { 
		/*
			小程序显示时执行的函数
			1. 小程序首次加载时会执行此函数
			2. 小程序从后台返回时会执行此函数
			3. 使用wx.reLaunch跳转时会执行此函数
		*/
	}
})

小程序加载时的参数有两种,一种是系统自带的参数,另一种是用户自定义的参数;

首先是path,也就是小程序启动时页面的路径,用户自定义的参数都是挂在这个上面的,但是在这里不显示
其次是scene, 场景值,也就是启动小程序的场景;
然后就是query,用户自定义挂到页面路径上的参数会在这里以对象的结构呈现;
shareTicket, 当用户通过转发的链接打开的小程序时,和转发相关的信息会带在这里一并传递给小程序;
referrerInfo, 当用户从小程序/公众号/app中进入小程序时带有的参数,否则为 {}

返回有效 referrerInfo 的场景

场景值场景appId含义
1020公众号 profile 页相关小程序列表来源公众号
1035公众号自定义菜单来源公众号
1036App 分享消息卡片来源App
1037小程序打开小程序来源小程序
1038从另一个小程序返回来源小程序
1043公众号模板消息来源公众号
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值