赞
踩
在uni中,返回页面是不会触发onLoad
方法的;
如果我们只想在特定情况下返回上一页才需要刷新数据,那么用onShow
的话,那刷新就太频繁了;
这时候,可以用$emit
和$on
去解决。
比如说,从详情页(detail.vue) 回到 列表页(list.vue):
详情页(detail.vue):
methods:{
back() {
uni.$emit('refreshData');
uni.navigateBack({
delta: 1
})
}
}
列表页(list.vue)
onLoad() {
// 正常进入该页面的获取数据
this.getData();
// 从详情页返回该页面的获取数据
uni.$on('refreshData',() => {
this.getData();
})
},
methods:{
getData() {
// 请求数据接口
... ...
}
}
纯手敲,若有误,请指出!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。