返回上一页传递数据的多种方式

获取上一页页面实例调用

查看代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#上一页页面
methos: {
getTimeInfo(timeInfo) {
console.log(timeInfo) #拿到数据
},
},

#当前页面
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2]; #上一页页面实例
prevPage.$vm.getTimeInfo(this.timeInfo); #调用上一页面方法并传参
uni.navigateBack({ #返回
delta:1
})

使用uni.$on与uni.$emit

查看代码
1
2
3
4
5
6
7
8
9
10
11
12
13
#上一页页面
uni.$on('update',function(data){
console.log('监听到事件来自 update ,携带参数 msg 为:' + data.msg);
})

uni.$once('update',function(data){ #如需要只触发一次
console.log('监听到事件来自 update ,携带参数 msg 为:' + data.msg);
})

#当前页面
uni.$emit('update',{msg:'页面更新'})

uni.$off('update') #移除事件监听

使用全局变量

查看代码
1
2
3
4
#通过globaldata赋值和取值
const app = getApp()
app.globalData.timeInfo = this.timeInfo
this.timeInfo = app.globalData.timeInfo

使用vuex

此处略过