UNI-APP页面跳转时(uni.navigateTo),参数传递

50 篇文章 3 订阅

方法一:

1、在起始页面跳转到test.vue页面并传递参数

//在起始页面跳转到test.vue页面并传递参数
uni.navigateTo({
    url: 'test?id=1&name=uniapp'
});

2、在test.vue页面接受参数

export default {
    onLoad: function (option) { //option为object类型,会序列化上个页面传递的参数
        console.log(option.id); //打印出上个页面传递的参数。
        console.log(option.name); //打印出上个页面传递的参数。
    }
}

方法二(传递json对象):

url有长度限制,太长的字符串会传递失败,可改用窗体通信全局变量,另外参数中出现空格等特殊字符时需要对参数进行编码,如下为使用encodeURIComponent对参数进行编码的示例。

<navigator :url="'/pages/test/test?item='+ encodeURIComponent(JSON.stringify(item))"></navigator>

// 在test.vue页面接受参数
onLoad: function (option) {
    const item = JSON.parse(decodeURIComponent(option.item));
}

完!!!

代码示例:

/*跳转到详情页*/
			gotoDetail(item){
				uni.navigateTo({
					//url: '/pages/index/device/detail/detail?code='+item.adapterCode+'&type='+item.type+'&id='+item.id
					url: '/pages/index/device/detail/detail?item='+encodeURIComponent(JSON.stringify(item))
				})
			},

onLoad(option) {
			const item = JSON.parse(decodeURIComponent(option.item));
			console.log(item)
		},
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值