寫小程序時需要實現從首頁進入答題頁面,答完題后,首頁中這套題的狀態需要發生改變。并且這個答題頁面也許是從更多中進去的
第一次的解決辦法:
在答題頁面的頁面卸載周期進行操作
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了小程序返回時刷新頁面,實現了我想要的效果小程序返回時刷新頁面,用戶也不會輕易跑了