1:小程序頁面有5個聲明周期: 是由onLoad(頁面加載)、onReady(頁面初次渲染完成)、onShow(頁面顯示)、onUnload(頁面卸載)??
2:實現(xiàn)返回上一頁的時候 其實是直接將隱藏的頁面顯示出來,所以不存在頁面的再次加載
A頁面------》B頁面--------》返回A頁面(自動更新A頁面的數(shù)據)
3:A跳轉B的過程是實現(xiàn)A頁面隱藏,B頁面初始化渲染;返回過程是隱藏頁面B頁面? 顯示A頁面
第一種方法:在A頁面的onShow生命周期函數(shù)中更新數(shù)據
onLoad(){
//數(shù)據的初始化操作
init(){
}
},
onShow() { //返回顯示頁面狀態(tài)函數(shù)
//錯誤處理
//this.onLoad()//再次加載,實現(xiàn)返回上一頁頁面刷新
//正確方法
update(){
console.log('--更新數(shù)據--')
}
}
注意: 在onShow中執(zhí)行this.onLoad(),會導致頁面第一次加載的時候數(shù)組加載兩次!
造成原因:頁面加載先執(zhí)行onLoad,再執(zhí)行的onShow,就會出現(xiàn)在onLoad加載一次數(shù)據,在onShow中執(zhí)行this.onLoad()在加載一次數(shù)據。
解決辦法:將不需要刷新的數(shù)據放在onLoad中執(zhí)行,將需要刷新的數(shù)據放在onShow中執(zhí)行!
第二種方法:推薦使用?
在B頁面文章來源:http://www.zghlxwxcb.cn/news/detail-614242.html
//操作函數(shù) 已經在wxml頁面進行了事件綁定 bindtap="onClick"
onClick(){
let pages=getCurrentPages(); //獲取當前頁面
let beforePage=page[pages.length-2] //獲取上一個頁面的實例
//修改上一個頁面的響應式數(shù)據
beforePage.setData({
userInfo:'我是超人'
})
beforePage.getuserInfo() //getuserInfo() 上一個頁面我定義的函數(shù),此處我要讓他刷新
//返回上一個頁面
wx.navigateBack({
delta:1
})
}
在A頁面中文章來源地址http://www.zghlxwxcb.cn/news/detail-614242.html
getuserInfo(){
console.log('我更新啦')
}
到了這里,關于微信小程序 操作完當前頁面會,自動返回上一級頁面,上一級頁面自動刷新的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!