1、数据较少:

在url后携带数据即可

//页面1:
methods:{
	uni.navigateTo({
		url:'页面2?data1='+data1
	})
}



//页面2:
onload(options){
	this.event = this.getOpenerEventChannel() //如果需要返回数据就写这一句,如果不需要就不用写
	//接收页面1的数据
	console.log(options.data1)
},
methods:{
	go_back(){
		uni.navigateBack({
			delta: 1,//写几就是往前面返回几个页面,
			success:()=>{
				this.event.emit('data2','我是页面2的数据') //返回页面1的时候,携带所需要的数据
			}
		})
	}

}

2、数据量较多

在success后传递数据

页面1:
methods:{
	go(){
		uni.navigateTo({
			url:'页面2',
			//监听跳过去的页面2返回的时候,有没有带数据返回
			events:{
				data2:(res)=>{
					console.log(res)
				}
		    },
		    //跳转成功后,往页面2传递的数据
		    success:(res)=>{
		    	res.eventChannel.emit('data1','我是页面1的数据')
		    }
		})
	}
}

//==================================页面分割线====================================


页面2onload(options){
	this.event = this.getOpenerEventChannel()
	//接收页面1传来的数据
	this.event.on('data1',(res)=>{
		console.log(res)
	})
},
methods:{
	go_back(){
		uni.navigateBack({
			delta: 1,//写几就是往前面返回几个页面,
			success:()=>{
				this.event.emit('data2','我是页面2的数据') //返回页面1的时候,携带所需要的数据
			}
		})
	}

}
Logo

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

更多推荐