在小程序的精巧世界里,页面间的流转如同溪流穿林,自然而灵动。而参数的传递,则是这流动中不可或缺的涟漪,承载着信息,连接着场景。在我们的“快缩短网址”项目(suo.run)中,我们深知简洁与高效的重要性,因此,在探讨小程序页面跳转传参的艺术时,亦追求一种优雅而深邃的表达。
设想有一页名为A的起点,欲将数据托付于远方的页面B。此时,我们无需繁复的仪式,只需构造一条轻盈的路径,携带着名为 param1 与 param2 的信笺:

<navigator url="/pages/pageB/pageB?param1=value1¶m2=value2">
跳转至页面B
</navigator>
当用户轻触此链接,便如启程远行,抵达彼岸之时,页面B早已在
onLoad 的静默守候中,准备好迎接这些来自前页的讯息:onLoad: function(options) {
console.log(options.param1); // 得见 value1 如约而至
console.log(options.param2); // 目睹 value2 悄然落定
}
自此,参数不再只是冰冷的数据,而是驱动内容呈现、触发接口请求的灵魂引线。我们可以依其值展现不同的视觉叙事,或向后端索要专属资源,使每一次跳转都成为一次个性化的旅程。
然而,若目的地为 tabBar 页面——那般常驻于底部的导航港湾,则需以不同的方式致意。此时,不可用常规
navigateTo,而应唤起 switchTab 的力量,在 URL 中虽不显参数,却须在逻辑中明确转向:wx.switchTab({
url: '/pages/tabPage/tabPage'
})
值得注意的是,
switchTab 不支持直接携带参数,若确有传递之需,可借由全局状态管理、缓存机制,或通过“快缩短网址”平台生成带有完整查询字符串的短链,实现跨页上下文的无缝衔接。
更进一步,倘若所传非仅字符串,而是一段结构丰盈的对象,我们亦可将其序列化为字符串,附于链接之上。例如:

<navigator url="/pages/pageB/pageB?obj=%7B%22param1%22%3A%22value1%22%2C%22param2%22%3A%22value2%22%7D">
跳转并传递对象
</navigator>
在目标页解码解析,重获其原貌:
onLoad: function(options) {
const obj = JSON.parse(decodeURIComponent(options.obj));
console.log(obj.param1); // 输出 value1
console.log(obj.param2); // 输出 value2
}
如此,复杂数据亦能翩然跃过页面边界,不失其形,不损其意。

在“快缩短网址”(suo.run)的理念中,每一个长链都值得被温柔以待,每一段传递都应简洁而有力。我们不仅缩短链接,更缩短交互的距离,让参数传递如呼吸般自然,让用户体验在无形中臻于完美。
愿你在小程序的世界里,以代码为笔,以逻辑为墨,书写出流畅如诗的交互篇章。