方法一:

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)
		},

 

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐