概要
在使用 onUnload()方法监听返回上一页的时候,A页面的onShow会执行两遍,导致数据混乱,并发生错误,可能是因为onShow每次进入都会执行的原因,反正是找了很久的问题都解决不了。
具体问题
在详情页操作完返回上一页之后,列表页执行两次onShow()
代码展示
B页面创建的onUnload监听详情页返回
onUnload() {
console.log("监听到返回操作了吗");
// 跳转
uni.redirectTo({
url: `pages/comments/comment`,
});
console.log("跳转成功了");
return true;
},
A页面创建的onShow
onShow() {
this.getData()
},
解决方法
试了很多种方法,只有将A页面的onShow换成onLoad才可以解决执行两遍的问题
onLoad() {
this.getData() // 需要进入页面既执行的方法
},