小程序页面路由传参的方法?

在小程序中,可以使用页面路由传递参数。有以下几种方式可以实现:

  1. 通过 URL 参数传递:在跳转到目标页面时,可以在 URL 中添加参数。例如:

    javascript 复制代码
    	wx.navigateTo({
       		url: '/pages/index/index?id=' + id
    	})

    在目标页面的 onLoad 方法中可以通过 options 参数获取传递的参数:

    javascript 复制代码
    onLoad(options) {
      const key1 = options.key1;
      const key2 = options.key2;
    }
  2. 通过全局变量传递:可以通过小程序的全局变量来传递参数。在跳转到目标页面之前,先将参数存储在全局变量中,然后在目标页面中读取全局变量的值。例如:

    javascript 复制代码
    // 在跳转前存储参数到全局变量
    getApp().globalData.key1 = value1;
    getApp().globalData.key2 = value2;
    // 跳转到目标页面
    wx.navigateTo({
      url: '/pages/targetPage/targetPage'
    });

    在目标页面中可以通过 getApp().globalData 来获取全局变量的值。

  3. 使用 wx.setStorageSyncwx.getStorageSync:可以使用小程序的本地缓存来传递参数。在跳转前将参数存储在本地缓存中,然后在目标页面中读取本地缓存的值。例如:

    javascript 复制代码
    // 在跳转前存储参数到本地缓存中
    wx.setStorageSync('key1', value1);
    wx.setStorageSync('key2', value2);
    // 跳转到目标页面
    wx.navigateTo({
      url: '/pages/targetPage/targetPage'
    });

    在目标页面中可以通过 wx.getStorageSync 来获取本地缓存中的值。

相关推荐
网络点点滴1 分钟前
组件通信-作用域插槽
前端·javascript·vue.js
kyriewen111 小时前
异步编程:从“回调地狱”到“async/await”的救赎之路
开发语言·前端·javascript·chrome·typescript·ecmascript·html5
Old Uncle Tom1 小时前
Markdown Viewer 再升级
前端
Luna-player1 小时前
Vue3中使用vue-awesome-swiper
前端·vue.js·arcgis
SuperEugene1 小时前
Vue3 Pinia 状态管理规范:状态拆分、Actions 写法、持久化实战,避坑状态污染|状态管理与路由规范篇
前端·javascript·vue.js·前端框架·pinia
black方块cxy1 小时前
实现一个输入框多个ip以逗号分隔最多20组,且ip不能重复
java·服务器·前端
@PHARAOH1 小时前
WHAT - AI 时代下的候选人
大数据·前端·人工智能
竹林8182 小时前
从零到一:我在Solana NFT铸造前端中搞定@solana/web3.js连接与交易
前端·javascript
猪八宅百炼成仙2 小时前
不用点击也能预览图片:Element UI ImageViewer 命令式调用方案
前端
尘世中一位迷途小书童2 小时前
前端工程化基石:package.json 40+ 字段逐一拆解
前端·javascript·架构