解决uniapp路由携带参数过长被裁剪的问题

uni.redirectTo({
url:'../../addBill/addBill?item=' +encodeURIComponent(JSON.stringify(this.billListData[index]))
					})

解码:

onLoad(options) {

			this.list = JSON.parse(decodeURIComponent(options.item))
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
uni-app中,可以通过路由传递参数给目标页面。有几种方式可以实现参数传递的组合。 1. Query 参数传递:可以通过在路由中添加 query 参数来传递参数。在跳转时可以使用 `uni.navigateTo` 或 `uni.redirectTo` 方法,并在 URL 后面拼接参数。在目标页面中,可以使用 `this.$route.query` 获取传递的参数。 示例: ```javascript // 跳转时传递参数 uni.navigateTo({ url: '/pages/targetPage?param1=value1&param2=value2' }); // 目标页面中获取参数 onLoad() { console.log(this.$route.query.param1); // 输出:value1 console.log(this.$route.query.param2); // 输出:value2 } ``` 2. Params 参数传递:可以通过在路由中添加 params 参数来传递参数。在跳转时可以使用 `uni.navigateTo` 或 `uni.redirectTo` 方法,并在 URL 中以占位符的形式指定参数。在目标页面中,可以使用 `this.$route.params` 获取传递的参数。 示例: ```javascript // 跳转时传递参数 uni.navigateTo({ url: '/pages/targetPage/param1/value1/param2/value2' }); // 目标页面中获取参数 onLoad() { console.log(this.$route.params.param1); // 输出:value1 console.log(this.$route.params.param2); // 输出:value2 } ``` 3. Vuex 状态管理传递:如果要在多个页面之间传递参数,并且希望参数在整个应用中共享,可以使用 Vuex 进行状态管理。在发送页面中将参数存储到 Vuex 中,在接收页面中从 Vuex 中获取参数。 示例: ```javascript // 发送页面 this.$store.commit('SET_PARAM', { param1: 'value1', param2: 'value2' }); // 接收页面 onLoad() { console.log(this.$store.state.param1); // 输出:value1 console.log(this.$store.state.param2); // 输出:value2 } ``` 以上是uni-app路由传递参数的几种方式,你可以根据具体情况选择适合的方式来传递参数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值