写小程序时需要实现从首页进入答题页面,答完题后,首页中这套题的状态需要发生改变。并且这个答题页面也许是从更多中进去的
第一次的解决办法:
在答题页面的页面卸载周期进行操作
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了,实现了我想要的效果,用户也不会轻易跑了