uniapp中刷新本页面的三种方法

 更新时间:2023年10月11日 15:54:46   作者:DC...  
这篇文章主要给大家介绍了关于uniapp中刷新本页面的三种方法,刷新页面的具体逻辑可以根据实际需求进行编写,文中通过代码介绍的非常详细,需要的朋友可以参考下

方法一

利用路由,强制uniapp刷新当前页面

setTimeout(() => {
	this.$router.go(0)
}, 500)

方法二

关闭当前页面,跳转到应用内的某给页面(如果想刷新当前页面也可以使用该方法):

uni.redirectTo({
    url: '../details/details?gid=' + this.gid //写你的路径
});

还可用定时器来对该方法进行优化,使其稍微延缓动画

setTimeout( () => {
    uni.redirectTo({
       url: '../details/details?gid=' + this.gid
    });	
}, 500)

方法三

通过获取该页面实例执行其内部的生命周期方法来刷新页面

    reload() {
        // 页面重载
        const pages = getCurrentPages()
        // 声明一个pages使用getCurrentPages方法
        const curPage = pages[pages.length - 1]
        // 声明一个当前页面
        curPage.onLoad(curPage.options) // 传入参数
        curPage.onShow()
        curPage.onReady()
        // 执行刷新
    },

补充:uniapp如何根据路由手动onload刷新某一个页面

uniapp如何手动刷新要跳转到的页面?相信很多人百度查到的答案都是如下:

uni.switchTab({
  url: '/pages/user/user',
  success(){
	     let page = getCurrentPages().pop(); //跳转页面成功之后
             if (!page) return;  
             page.onLoad(); //重新刷新页面
	  }
});

但是在我做的项目中,会出现莫名的bug,pop出来的页面不是想要的,而且后面修改页面跳转的时候可能要修改代码,根据页面栈pop出来页面刷新很难定位刷新到我们想要的页面。那么有没有什么办法可以根据路由定位到我们要刷新的页面呢,根据官方api,我们可以获取已渲染加载的页面数组let pages = getCurrentPages(),同时每一个页面都有page.route()获取该页面的路由。所有我们只要遍历已渲染加载的pages,再比较pages里面的路由在调用相应页面的onload事件就好了,代码如下:

uni.switchTab({
				url : '/pages/test/test',
				success() {
					let pages = getCurrentPages();
					for(let i = 0; i < pages.length; i ++){
						let tmppg = pages[i];
						if(tmppg.route == "pages/test/test"){
							tmppg.onLoad();
						}
						// console.log('tmppg:' + tmppg)
						// console.log('tmppg.route:' + tmppg.route)
					}
				}
			})

总结 

到此这篇关于uniapp中刷新本页面的三种方法的文章就介绍到这了,更多相关uniapp刷新本页面内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 微信小程序canvas实现环形渐变

    微信小程序canvas实现环形渐变

    这篇文章主要为大家详细介绍了微信小程序canvas实现环形渐变,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-08-08
  • JavaScript实现动态删除列表框值的方法

    JavaScript实现动态删除列表框值的方法

    这篇文章主要介绍了JavaScript实现动态删除列表框值的方法,涉及javascript针对select列表框的遍历与删除操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • js-穷举法 (y0h)

    js-穷举法 (y0h)

    js-穷举法 (y0h)...
    2006-09-09
  • 第一篇初识bootstrap

    第一篇初识bootstrap

    Bootstrap是twitter的工程师在业余时间开发的,是一款目前非常流行的前端框架。本文给大家介绍第一篇初识bootstrap的相关知识,非常不错具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-06-06
  • 原生JS实现小小的音乐播放器

    原生JS实现小小的音乐播放器

    这篇文章主要为大家详细介绍了原生JS实现音乐播放器,支持循环、随机播放,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-10-10
  • JavaScript函数柯里化实现原理及过程

    JavaScript函数柯里化实现原理及过程

    这篇文章主要介绍了JavaScript函数柯里化实现原理及过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12
  • javascript实现节点(div)名称编辑

    javascript实现节点(div)名称编辑

    这篇文章主要介绍了js实现节点(div)名称编辑,需要的朋友可以参考下
    2014-12-12
  • JavaScript提取PDF和Word文档内图片

    JavaScript提取PDF和Word文档内图片

    这篇文章主要为大家详细介绍了如何利用JavaScript实现提取PDF和Word文档内的图片,文中的示例代码讲解详细,有需要的小伙伴可以参考一下
    2025-03-03
  • 整理关于Bootstrap排版的慕课笔记

    整理关于Bootstrap排版的慕课笔记

    这篇文章主要为大家整理了关于Bootstrap排版的慕课笔记,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • js日历相关函数使用详解

    js日历相关函数使用详解

    这篇文章主要为大家详细介绍了js日历相关函数的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04

最新评论