我的编程空间,编程开发者的网络收藏夹
学习永远不晚

vue3中怎么刷新当前页面

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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中怎么刷新当前页面”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

vue3中怎么刷新当前页面

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

vue3中怎么刷新当前页面

这篇“vue3中怎么刷新当前页面”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“vue3中怎么刷新当前页面”文章吧。1.业务场
2023-07-05

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

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

浅析vue中怎么刷新当前页面

vue怎么刷新当前页面?下面本篇文章给大家介绍一下vue刷新当前页面的几种实现方法,希望对大家有所帮助!
2023-05-14

vue不刷新当前页面怎么办

vue不刷新当前页面的解决办法有:1、在data中定义一个阈值,代码如“this.show = false;setTimeout(() => {this.show = true},0)”;2、在数据都处理完成后,使用“this.$froceUpdate()”进行强制刷新;3、在数据处理完成之后进行数据重置操作;4、使用“this.$set”全局方法进行数据更新等。
2023-05-14

vue中如何刷新当前页面

这篇文章主要介绍了vue中如何刷新当前页面的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中如何刷新当前页面文章都会有所收获,下面我们一起来看看吧。项目当中如果做新增/修改/删除等等操作通常情况下都需要刷新
2023-07-05

Angular刷新当前页面的方法

这篇文章主要介绍Angular刷新当前页面的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Angular刷新当前页面的几种方法默认,当收到导航到当前URL的请求,Angular路由器会忽略。

js刷新当前页面的5种方式

1. 使用location.reload()方法刷新页面:可以通过调用window.location.reload()或者location.reload()方法来刷新当前页面。2. 使用location.href刷新页面:可以通过修改当前页
2023-09-15

vue不刷新当前页面如何解决

本文小编为大家详细介绍“vue不刷新当前页面如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue不刷新当前页面如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。vue不刷新当前页面的解决办法有:1、
2023-07-04

vue项目刷新当前页面的三种方式(重载当前页面数据)

这篇文章主要介绍了vue项目刷新当前页面的三种方式(重载当前页面数据),本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-01-17

Vue3页面局部刷新组件的刷新问题怎么解决

开始操作vue3的生命周期和vue2的生命周期是完全不一样的vue2和vue3的区别我这里就简单介绍一下2者的区别Vue2与Vue3最大的区别:Vue2使用选项类型API(OptionsAPI)对比Vue3合成型API(CompositionAPI)旧的选项型API在代码里分割了不同的属性:data,computed属性,methods,等等。新的合成型API能让我们用方法(function)来分割,相比于旧的API使用属性来分组,这样代码会更加简便和整洁。vue2exportdefault{p
2023-05-17

Vue实现刷新当前页面的三种方式总结

项目当中如果做新增/修改/删除等等操作通常情况下都需要刷新数据或者刷新当前页面。本文为大家整理了三种不同的实现方法,需要的可以参考一下
2023-01-14

Vue实现当前页面刷新的4种方法举例

我们在开发vue的页面的时候,有时候会遇到需要刷新当前页面功能,但是vue框架自带的router是不支持刷新当前页面功能,下面这篇文章主要给大家介绍了关于Vue实现当前页面刷新的4种方法,需要的朋友可以参考下
2023-05-18

Vue3中进行页面局部刷新组件刷新的操作方法

这篇文章主要介绍了Vue3中进行页面局部刷新组件刷新的操作方法,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2022-12-20

小程序开发中如何实现停止当前页面下拉刷新

这篇“小程序开发中如何实现停止当前页面下拉刷新”文章,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要参考一下,对于“小程序开发中如何实现停止当前页面下拉刷新”,小编整理了以下知识点,请大家跟着小编的步伐一步一步的慢慢
2023-06-26

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录