uniapp微信小程序返回后刷新页面数据

场景: 当A页面跳到B页面并在B页面进行相关操作,关闭B页面返回A页面时,刷新A页面相关数据

getCurrentPages()

B页面


				//获取页面栈数据
				const pages = getCurrentPages()
				//当长度为1时,则是打开小程序时首先进来的页面,没有上一页
				if(pages.length<=1){
					uni.switchTab({
						url: '/pages/home/home'
					})
				}else{
					//存上一页信息
					let prevPage = ''
					//存上一页完整路由
					let prevRoute = ''
					//pages的长度-2为上一页,pages最后一个元素则是当前页
					if(pages.length>=2){
						prevPage = pages[pages.length - 2]
						prevRoute = prevPage.route
					}
				//返回上一页并触发上一页的刷新方法,加个定时器的原因:降低返回时调用刷新函数失败几率
				setTimeout(()=>{
					uni.navigateBack({
						delta:1,
						success:(event)=>{
						//判断是否为刷新数据的目标页
						if(prevRoute.indexOf('page/index/index') > -1){
								prevPage.$vm.reLoadFn()
							}
						}
					});
					},300)
				}

A页面

methods:{
	reLoadFn(){
		//刷新数据逻辑
	}
}
Logo

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

更多推荐