uniapp中uni.navigateTo()和uni.navigateBack()传递数据
1、数据较少:在url后携带数据即可//页面1:methods:{uni.navigateTo({url:'页面2?data1='+data1})}//页面2:onload(options){this.event = this.getOpenerEventChannel() //如果需要返回数据就写这一句,如果不需要就不用写//接收页面1的数据console.log(options.data1)}
·
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的数据')
}
})
}
}
//==================================页面分割线====================================
页面2:
onload(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的时候,携带所需要的数据
}
})
}
}
更多推荐
已为社区贡献3条内容
所有评论(0)