小程序返回上一页并对上一页数据刷新

写小程序时需要实现从首页进入答题页面,答完题后,首页中这套题的状态需要发生改变。并且这个答题页面也许是从更多中进去的

小程序返回上一页并对上一页数据刷新_第1张图片

 

第一次的解决办法:

在答题页面的页面卸载周期进行操作

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了,实现了我想要的效果,用户也不会轻易跑了

你可能感兴趣的:(小程序)