多页面传值(多对一)(uni-app)

本文介绍了在uni-app中实现多页面向一个父页面进行数据传递的方法,通过在父页面定义数据对象,子页面利用getCurrentPages()获取并赋值,再借助onShow()实时更新父页面数据。在App端,子页面给父页面赋值时需加上$vm。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

多页面传值(多对一)

理解: 多页面传值(多对一)可以理解为多个子页面向一个父页面传值
思路:首先在父页面定义一个对象或者数组,其次子页面通过getCurrentPages()方法获取父页面定义的数组或者对象,然后将子页面需要传递的数据赋值给父页面的数组或者对象,最后利用uni-app的onShow()方法实时更新父页面的数据即可。
代码:
父页面定义data对象

data:{
	data1:{},
	data2:{},
	data3:[]
}

子页面利用getCurrentPages()方法获取父页面的data对象并赋值

//子页面1
var pages = getCurrentPages();
var beforePage = pages[pages.length - 2];
if (beforePage != undefined) {
    beforePage.data.datda1 = this.data1; //将子页面的data1赋值给父页面的data.data1
}

子页面跳转回父页面,父页面调用onshow()方法,更新data

onShow(){
	if(Obejct.keys(this.data.data1).length != 0){
		console.log(this.data.data1) //查看是否被子页面1赋值
		//继续操作。。。
	}
}

注意

app端在子页面给父页面数据赋值时,需要加上$vm
例如:

if (beforePage != undefined) {
    beforePage.$vm.data.datda1 = this.data1; //将子页面的data1赋值给父页面的data.data1
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值