写小程序时需要实现从首页进入答题页面,答完题后,首页中这套题的状态需要发生改变。并且这个答题页面也许是从更多中进去的
第一次的解决办法:
在答题页面的页面卸载周期进行操作
onUnload:function(){
let pages = getCurrentPages(); //页面栈
let beforePage = pages[pages.length - 2];
wx.navigateBack({
delta: 1,//返回的页面数,如果 delta 大于现有页面数,则返回到首页。
success:function(){
if(beforePage.route == 'pages/Shouye/shouye'){
beforePage.syncPageData()//这个函数式调用接口的函数
}
}
})
}
这样写会出现一个bug,从答题页面返回的时候直接退出了小程序,这是一个很大的问题呀,把用户都给整跑了。这个必须改!!
于是就出现下面的
onUnload:function(){
let pages = getCurrentPages(); //页面栈
let beforePage = pages[pages.length - 2];
wx.switchTab({
url:'/'+ beforePage.route,
success:function(){
if(beforePage.route == 'pages/Shouye/shouye'){
beforePage.syncPageData()
}
}
})
}
这就很ok了,实现了我想要的效果,用户也不会轻易跑了