onLoad
方法的;
如果我们只想在特定情况下返回上一页才需要刷新数据,那么用onShow
的话,那刷新就太频繁了;
这时候,可以用$emit
和$on
去解决。
比如说,从详情页(detail.vue) 回到 列表页(list.vue):
进入的页面
<view @click="submitFunc">
点击返回列表页面,并且刷新列表接口
view>
methods:{
back() {
uni.$emit('refreshData');
uni.navigateBack({
delta: 1
})
},
submitFunc() {
// 按钮点击返回,调用back()方法
this.back();
}
}
onLoad() {
// 正常进入该页面的获取数据
this.getData();
// 从详情页返回该页面的获取数据
uni.$on('refreshData',() => {
// 调用列表接口
this.getData();
})
},
methods:{
// 列表接口
getData() {
// 请求数据接口
... ...
}
}
给大佬暴赞
大佬地址:https://blog.csdn.net/mossbaoo/article/details/115963129
感觉文章好的话记得点个心心和关注和收藏,有错的地方麻烦指正一下,如果需要转载,请标明出处,多谢!!!