方法一
wx.relaunch来刷新当前页面,页面会被重载,若路由携带参数需自行拼接,方法如下
(如果用电脑打开小程序,该方法有bug)
/* 获取当前页带参数的url */
splicePageUrlWithParams(obj) {
const path = obj.route
const query = obj.options
// 拼接url的参数
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 ''
}
},
上面是获取页面路由和参数的方法,具体使用如下文章来源:https://www.toymoban.com/news/detail-519007.html
reload() {
// 获取当前页面路由 具体请看该函数的实现
const url = this.getPageUrl(1)
uni.reLaunch({
url,
success: () => {
console.log('reload触发了!!!!!! url====>' + url)
}
}
})
}
方法二(推荐)
通过获取该页面实例执行其内部的生命周期方法来刷新页面文章来源地址https://www.toymoban.com/news/detail-519007.html
reload() {
// 页面重载
const pages = getCurrentPages()
// 声明一个pages使用getCurrentPages方法
const curPage = pages[pages.length - 1]
// 声明一个当前页面
curPage.onLoad(curPage.options) // 传入参数
curPage.onShow()
curPage.onReady()
// 执行刷新
},
到了这里,关于uni-app小程序刷新当前页面的两种方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!