返回顶部
首页 > 资讯 > 前端开发 > 其他 >聊聊vue3中如何刷新当前页面
  • 161
分享到

聊聊vue3中如何刷新当前页面

前端Vue.js 2023-05-14 22:05:22 161人浏览 安东尼
摘要

本篇文章给大家带来了关于vue3 的相关知识,其中将给大家聊聊Vue3中如何刷新当前页面,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。1.业务场景一般我们在删除或者编辑完表格数据的时候,会再次请求接口来刷新表格的数据。如果是同时有好几

本篇文章给大家带来了关于vue3 的相关知识,其中将给大家聊聊Vue3中如何刷新当前页面,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。

聊聊vue3中如何刷新当前页面

1.业务场景

一般我们在删除或者编辑完表格数据的时候,会再次请求接口来刷新表格的数据。如果是同时有好几个接口需要请求,那就不能再每个接口挨个去调了。我们需要使用一种比较友好的方式来实现了。

2.实现思路

第一种最直观的就是直接刷新当前页面,比如使location.reload和$router.Go(0)方法。但是这种方式会导致页面会有白屏情况,不友好。那么我们能不能刷新当前的vue组件呢?我们知道当vue的组件重新渲染以后它的整个生命周期会重新执行一遍,接口自然而然的也会重新请求一遍的。那么多如何刷新当前组件呢?首先是通过v-if来控制当前页面组件的渲染。在有router-view渲染组件的情况下,我们直接把v-if加在router-view上面。然后通过控制这个判断条件,比如我们就叫做isRouterAlive

那么这个判断条件如何控制呢?因为涉及到跨组件通信,所以需要使用provide/inject。在router-view组件中通过provide提供一个relaod方法,当删除或者编辑完成表格数据以后,使用inject触发reload方法。在reload方法里面我们来控制判断条件。当realod的时候isRouterAlive=false,紧接着在nextTick中设置为true,这样就可以实现组件重新加载了。

下面我们来看看代码逻辑的实现。

3.代码实现

首先修改router-view渲染组件

<template>
  <div class="main">
    <router-view v-if="isRouterAlive"></router-view>
  </div>
</template>

<script>
	export default {
    provide(){
        return {
            reload: this.reload
        }
    },
    data(){
        return {
            isRouterAlive: true
        }
    },
    methods: {
        reload(){
            this.isRouterAlive = false
            //通过this.$nextTick()产生一个微任务,在一次dom事件循环后,重新创建组件
            this.$nextTick(() => {
              this.isRouterAlive = true  
            })
        }
    }
  }
</script>

在table页面,这样实现:

<template>
  <div>
    首页
    <button @click="handleSubmit">刷新</button>
  </div>
</template>

<script>
export default {
  //通过inject获取祖先元素的reload方法
  inject: ['reload'],
  data() {
    return {
      isRouterAlive: true,
    }
  },
  methods: {
    handleSubmit() {
      // 假如这是一个编辑提交事件
      // 这里是编辑请求的各种逻辑和接口...
      // 编辑执行成功,就刷新当前页面,请求reload
      this.reload()
    },
  },
}
</script>

通过这样的方式,不会出现页面空白,地址栏会不会出现快速切换的过程,用户体验很友好。

以上就是聊聊vue3中如何刷新当前页面的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 聊聊vue3中如何刷新当前页面

本文链接: https://lsjlt.com/news/207202.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 聊聊vue3中如何刷新当前页面
    本篇文章给大家带来了关于vue3 的相关知识,其中将给大家聊聊vue3中如何刷新当前页面,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。1.业务场景一般我们在删除或者编辑完表格数据的时候,会再次请求接口来刷新表格的数据。如果是同时有好几...
    99+
    2023-05-14
    前端 Vue.js
  • vue3中怎么刷新当前页面
    这篇“vue3中怎么刷新当前页面”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中怎么刷新当前页面”文章吧。1.业务场...
    99+
    2023-07-05
  • vue中如何刷新当前页面
    这篇文章主要介绍了vue中如何刷新当前页面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中如何刷新当前页面文章都会有所收获,下面我们一起来看看吧。项目当中如果做新增/修改/删除等等操作通常情况下都需要刷新...
    99+
    2023-07-05
  • 聊聊vue如何阻止H5历史刷新页面
    随着Web应用程序的普及,前端框架已成为开发人员的首选。Vue是其中一个受欢迎的框架,允许开发人员构建单页面应用程序,提高了用户体验和流畅性。然而,许多开发人员可能会遇到一个问题,即如何阻止H5历史刷新页面。本文将向您介绍使用Vue.js在...
    99+
    2023-05-14
  • vue不刷新当前页面如何解决
    本文小编为大家详细介绍“vue不刷新当前页面如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue不刷新当前页面如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。vue不刷新当前页面的解决办法有:1、...
    99+
    2023-07-04
  • 详细聊聊前端如何实现token无感刷新(refresh_token)
    目录关于无感刷新的理解: 下面是关于使用vuex来实现的写法axios工具函数(请求拦截器与响应拦截器)总结关于无感刷新的理解:  实现token无感刷新对于前端...
    99+
    2022-11-13
    前端无感知刷新token 前端自动刷新token 前端怎么刷新token
  • Angular刷新当前页面的方法
    这篇文章主要介绍Angular刷新当前页面的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Angular刷新当前页面的几种方法默认,当收到导航到当前URL的请求,Angular路由器会忽略。<a ...
    99+
    2023-06-14
  • 浅析vue中怎么刷新当前页面
    vue怎么刷新当前页面?下面本篇文章给大家介绍一下vue刷新当前页面的几种实现方法,希望对大家有所帮助!项目当中如果做新增/修改/删除等等操作通常情况下都需要刷新数据或者刷新当前页面.思路(1)如果页面简单,调用接口刷新数据即可.(2)如果...
    99+
    2023-05-14
    前端 Vue.js JavaScript
  • vue项目怎么刷新当前页面
    这篇文章将为大家详细讲解有关vue项目怎么刷新当前页面,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。场景在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页...
    99+
    2024-04-02
  • vue不刷新当前页面怎么办
    本教程操作环境:Windows10系统、Vue 3版、Dell G3电脑。vue不刷新当前页面怎么办?vue项目中数据更新页面不刷新问题这种情况可以分为很多种.但是究其原因就是vue3.0以下版本无法监听对象(包括数组以及对象)的变化,当数...
    99+
    2023-05-14
    Vue
  • 微信小程序如何设置刷新当前页面
    使用this.onShow()函数实现刷新当前页面首先,进入微信开发者工具,打开小程序文件目录;在文件目录中,依次查找:utils/app.json文件;最后,在app.js中,定义一个全局变量Flag,默认值为false,再调用接口获取数...
    99+
    2024-04-02
  • js刷新当前页面的5种方式
    1. 使用location.reload()方法刷新页面:可以通过调用window.location.reload()或者locat...
    99+
    2023-09-15
    JS
  • vue项目刷新当前页面的三种方式(重载当前页面数据)
    目录vue项目刷新当前页面的三种方式(重载当前页面数据)一、this.$router.go(0)二、location.reload()三、用provide / inject 组合PS...
    99+
    2023-01-17
    vue刷新当前页面 vue重载当前页面数据
  • 小程序开发中如何实现停止当前页面下拉刷新
    这篇“小程序开发中如何实现停止当前页面下拉刷新”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“小程序开发中如何实现停止当前页面下拉刷新”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢...
    99+
    2023-06-26
  • vue刷新当前页面,11选5平台维护
    在vue管理后台中,11选5平台维护(企 娥:217 1793 408)表格经常会有增删改查,修改完之后就要刷新页面或者调方法,但是在权限菜单角色页面,你如果改变当前登录的账号的权限时,你就需要全局刷新,然...
    99+
    2024-04-02
  • Vue3如何实现刷新页面局部内容
    这篇文章主要介绍“Vue3如何实现刷新页面局部内容”,在日常操作中,相信很多人在Vue3如何实现刷新页面局部内容问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Vue3如何实现刷新页面局部内容”的疑惑有所帮助!...
    99+
    2023-07-02
  • AngularJs如何实现返回前一页面时刷新一次前面页面
    小编给大家分享一下AngularJs如何实现返回前一页面时刷新一次前面页面,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!要求:页...
    99+
    2024-04-02
  • AngularJS中如何重新加载当前路由页面
    这篇文章主要介绍了AngularJS中如何重新加载当前路由页面,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用angular做项目,会碰到需...
    99+
    2024-04-02
  • JS如何刷新页面
    这篇文章给大家分享的是有关JS如何刷新页面的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。JS刷新当前页面的几种方法总结reload 方法,该方法强迫浏览器刷新当前页面replac...
    99+
    2024-04-02
  • Vue实现当前页面刷新的4种方法举例
    目录前言方法一:location.reload方法二:$router.go(0)方法三:provide、inject和$nextTick方法四:创建空白页总结前言 这两周在写一个后台...
    99+
    2023-05-18
    vue页面刷新方法 vue当前页面刷新 vue重新加载当前页面
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作