vue/uniapp - 返回上一页并onLoad/onShow刷新数据列表接口

2023-12-13 19:51:02


在uni中,返回页面是不会触发 onLoad方法的;

如果我们只想在特定情况下返回上一页才需要刷新数据,那么用onShow的话,那刷新就太频繁了;

这时候,可以用$emit$on去解决。

比如说,从详情页(detail.vue) 回到 列表页(list.vue):

详情页(detail.vue):

进入的页面

<view @click="submitFunc">
	点击返回列表页面,并且刷新列表接口
</view>
methods:{
	back() {
		uni.$emit('refreshData');
		uni.navigateBack({
			delta: 1
		})
	},
	submitFunc() {
		// 按钮点击返回,调用back()方法
		this.back();
	}
}

列表页(list.vue)

onLoad() {
	// 正常进入该页面的获取数据
	this.getData();
	// 从详情页返回该页面的获取数据
	uni.$on('refreshData',() => {
		// 调用列表接口
		this.getData();
	})
},
methods:{
	// 列表接口
	getData() {
		// 请求数据接口
		... ...
	}
}

大佬

给大佬暴赞👍👍👍👍👍👍

大佬地址:https://blog.csdn.net/mossbaoo/article/details/115963129

最后

感觉文章好的话记得点个心心和关注和收藏,有错的地方麻烦指正一下,如果需要转载,请标明出处,多谢!!!

文章来源:https://blog.csdn.net/m0_49714202/article/details/134978995
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。