Vue刷新页面方式详解

Vue刷新页面方式详解业务需求 问题描述在项目中经常遇到一个问题 例如新增完表单数据和需要重新刷新页面 类似的业务还有很多 这时我们可以考虑的方式如下 推荐 v if 刷新页面 并依赖注入 不太清楚的小伙伴可以看我之前的文章 父组件 子组件 v if load exportdefaul data load true methods refresh this load false this nextTick gt t 子组件 v if load

业务需求/问题描述

在项目中经常遇到一个问题,例如新增完表单数据和需要重新刷新页面。类似的业务还有很多。这时我们可以考虑的方式如下

①(推荐)v-if刷新页面,并依赖注入

(不太清楚的小伙伴可以看我之前的文章)

//父组件 <子组件 v-if='load'> export default{ 
    data(){ 
    load = true }, methods:{ 
    refresh(){ 
    this.load = false this.$nextTick(()=>{ 
    this.load = true }) }, } provide(){ 
    return{ 
    refresh:this.refresh, } } } //子组件中 当提交表单时候直接调用即可 export default{ 
    inject:['refresh'], methods:{ 
    this.refresh() } } 

②父组件提供方法子组件通过$parent更新页面(和依赖注入方式相同)

//父组件 export default{ 
    methods:{ 
    refresh(){ 
    //向服务器发请求 } } } //子组件 export default{ 
    methods:{ 
    this.$parent.refresh() } } 

③(不推荐)this.$router.go(0)和location.reload()

this. r o u t e r . g o 利 用 h i s t o r y 中 前 进 和 后 退 的 功 能 , 传 入 0 刷 新 当 前 页 面 。 但 是 这 种 方 式 , 重 新 刷 新 当 前 页 , 如 果 这 个 页 面 文 件 比 较 大 , 白 屏 时 间 比 较 长 , 会 影 响 用 户 体 验 。 l o c a t i o n . r e l o a d ( ) 和 t h i s . router.go利用 history 中前进和后退的功能,传入 0 刷新当前页面。但是这种方式,重新刷新当前页,如果这个页面文件比较大,白屏时间比较长,会影响用户体验。 location.reload()和this. router.gohistory退0location.reload()this.router.go利用副作用一样

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/217582.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 上午9:15
下一篇 2026年3月18日 上午9:15


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号