方法一
wx.relaunch來刷新當(dāng)前頁(yè)面,頁(yè)面會(huì)被重載,若路由攜帶參數(shù)需自行拼接,方法如下
(如果用電腦打開小程序,該方法有bug)
/* 獲取當(dāng)前頁(yè)帶參數(shù)的url */
splicePageUrlWithParams(obj) {
const path = obj.route
const query = obj.options
// 拼接url的參數(shù)
var urlWithParams = '/' + path + '?'
for (let key in query) {
const value = query[key]
urlWithParams += key + '=' + value + '&'
}
urlWithParams = urlWithParams.substring(0, urlWithParams.length - 1)
return urlWithParams
},
getPageUrl(lastIndex, withParams = true) {
const pages = getCurrentPages()
if (pages.length > 0 && pages.length >= lastIndex) {
const thePage = pages.splice(-lastIndex, 1)[0]
if (withParams) {
return this.splicePageUrlWithParams(thePage)
} else {
return `/${thePage.route}`
}
} else {
console.log('pages are empty or lastIndex error')
return ''
}
},
上面是獲取頁(yè)面路由和參數(shù)的方法,具體使用如下文章來源:http://www.zghlxwxcb.cn/news/detail-519007.html
reload() {
// 獲取當(dāng)前頁(yè)面路由 具體請(qǐng)看該函數(shù)的實(shí)現(xiàn)
const url = this.getPageUrl(1)
uni.reLaunch({
url,
success: () => {
console.log('reload觸發(fā)了!!!!!! url====>' + url)
}
}
})
}
方法二(推薦)
通過獲取該頁(yè)面實(shí)例執(zhí)行其內(nèi)部的生命周期方法來刷新頁(yè)面文章來源地址http://www.zghlxwxcb.cn/news/detail-519007.html
reload() {
// 頁(yè)面重載
const pages = getCurrentPages()
// 聲明一個(gè)pages使用getCurrentPages方法
const curPage = pages[pages.length - 1]
// 聲明一個(gè)當(dāng)前頁(yè)面
curPage.onLoad(curPage.options) // 傳入?yún)?shù)
curPage.onShow()
curPage.onReady()
// 執(zhí)行刷新
},
到了這里,關(guān)于uni-app小程序刷新當(dāng)前頁(yè)面的兩種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!