vue5种方式实现页面“刷新“

2023-11-02

vue中五种方式实现页面“刷新”

1: 使用window.location.reload() 强制刷新 都会使页面有短暂的空白,体验效果不是特别好

  • home.vue
  <button @click="refreshPageHandler">刷新页面</button>
  methods: {
   refreshPageHandler() {
      console.log("点击刷新页面")
         window.location.reload() // 第一种方式
    },
  },
  mounted() {
      console.log("mounted执行")
  }

效果图如下,可以看到是强制刷新了这个页面

image.png

2: 使用this.$router.go() 强制刷新 都会使页面有短暂的空白,体验效果不是特别好

  • home.vue
  <button @click="refreshPageHandler">刷新页面</button>
  methods: {
   refreshPageHandler() {
      console.log("点击刷新页面")
        this.$router.go() // 第二种方式
    },
  },
mounted() {
  console.log("mounted执行")
 }

效果图如下,可以看到是强制刷新了这个页面

image.png

3: 使用provide和inject 普通刷新 不会使页面出现短暂的空白,体验效果比较好

  • app.vue
<template>
  <div id="app">
    <router-view v-if="isRresh"></router-view>
  </div>
</template>

<script>

export default {
  data: ()=>({
    isRresh: true
  }),
  provide() {
    return {
      refresh: this.refresh
    }
  },
  methods: {
    refresh() {
      this.isRresh = false;
      this.$nextTick(() => {
        this.isRresh = true;
      })
    }
  }

}
</script>

<style lang="scss">

</style>

  • home.vue
  <button @click="refreshPageHandler">刷新页面</button>
  inject: ["refresh"],
  methods: {
   refreshPageHandler() {
      console.log("点击刷新页面")
        this.refresh()
    },
  },
mounted() {
  console.log("mounted执行")
 }

效果图如下,可以看到是普通刷新了这个页面,不会造成页面出现短暂的空白

image.png

4: 使用key刷新子组件

  • children.vue
 <template>
   <div class="children">
     <h1>子组件刷新</h1>
   </div>
</template>

<script>
export default {
  name: 'Children',
  data() {
    return {

    }
  },
  mounted() {
    console.log("子组件刷新")
  }
}
</script>

<style>

</style>
  • home.vue
 <button @click="refreshPageHandler">刷新页面</button>
   <Children :key="key"></Children>
  data: ()=>({ key: 0, });
  methods: {
    refreshPageHandler() {
      console.log("点击刷新页面")
      this.refresh()
    },
    keyUpdate() {
      this.key = Date.now()
    }
  },

效果图如下,可以看到是普通刷新了这个页面子组件,不会造成页面出现短暂的空白

image.png

5:forceUpdate() 强制更新vue实例,用来解决 vue 添加不在data中属性,页面不会响应式展现值的,当然使用 this.$set更好,这里我就不一一作比较了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue5种方式实现页面“刷新“ 的相关文章

随机推荐

  • vue3 - watchEffect

    watchEffect watch watchEffect 不同点 停止侦听 effect 副作用 watchEffect的执行时机 watchEffect computed 的不同 Vue 3 watch Vue 3 computed特点
  • python金融分析小知识(30)——比较常见的pd.set_option的使用

    Hello 大家好 我是一名新来的金融领域打工人 日常分享一些python知识 都是自己在学习生活中遇到的一些问题 分享给大家 希望对大家有一定的帮助 哈喽大家好 今天我要给大家讲讲在pandas的时候过程中我们会经常遇到的DataFram
  • CSS中的BFC详解

    BFC的特性和作用 1 避免外边距重叠 2 清楚浮动 3 阻止元素被浮动元素覆盖 第三条提供了布局的一种思路 左边盒子宽度固定 右边盒子宽度占满剩余的宽度 左边设置浮动 右边设置overflow hidden即可实现 或者三栏布局 两边固定
  • Ubuntu中Error: Can‘t find Python executable “python“, you can set the PYTHON env variable.

    Ubuntu中在用npm install 时报错 gyp WARN download NVM NODEJS ORG MIRROR is deprecated and will be removed in node gyp v4 please
  • linux下保存git密码

    在使用shell脚本部署项目时 我们经常从gitee或者github拉取代码 每次都输入密码会比较繁琐 这里介绍一下 如何保存git密码 https方式 1 查看服务器是否保存密码git config list 2 邮箱设置 用户名设置 保
  • 基于Javaweb的超市管理系统毕业设计项目源码+数据库+详细设计文档

    超市管理系统 介绍 大学校内超市管理系统 实现收银台 商品分类管理 商品库存管理 商品管理 营收统计等功能 完整代码下载地址 基于Javaweb的超市管理系统 软件架构 使用说明 项目导入eclipse 配置tomcat jdk sql 导
  • 使用scrapy框架进行爬虫时,报出异常:NotImplementedError: Test1Spider.parse callback is not defined

    这种错误类型今天第一次使用Scrapy框架 就出现了 找了很多博客中的解决方法 还是不能访问 改了一下execute py文件的位置就ok了 如图 书上说这三个位置放置execute py文件都可以 我把文件放在第二个目录下 就不会抛出异常
  • 从辩证的角度看待chatGPT,我们该如何对待?

    从辩证的角度 看待chatGPT 0 什么是ChatGPT 客观阐述 1 通过唯物辩证法的五对基本范畴进行分析 1 0 内容与形式 1 1 现象和本质 1 2 原因与结果 1 3 必然与偶然 1 4 现实与可能 2 使用ChatGPT会给我
  • SPADE(GauGAN)代码运行方法

    SPADE运行方法 写在前面 为什么Pix2PixHD和SPADE都不用RGB作为输入 如何运行SPADE 可能遇到的问题 2022 04 28更 如何控制合成风格 2022 07 30更 contain dontcare label参数
  • 暗影精灵5怎么调风扇转速_遗憾与真香并存的性价比产品——暗影精灵6 AMD

    惠普暗影精灵6 AMD作为一台正面与联想拯救者R7000P对线的游戏本 自有消息以来就被玩家们寄托了很高的希望 纵然随着暗影精灵6 AMD的发布 大家对其期待值有所降低 但在如今游戏本集体无货的情况下它也是一个不错的选择 本文基于目前拿到的
  • 数据结构 算法大全 入门篇

    说到数据结构是什么 我们得先来谈谈什么叫数据 正所谓 巧妇难为无米之炊 再强大的计算机 也是要有 米 下锅才可以干活的 否则就是一堆破铜烂铁 这个 米 就是数据 数据 是描述客观事物的符号 是计算机中可以操作的对象 是能被计算机识别 并输入
  • vscode配置remote ssh

    1 安装插件 vscode配置remote ssh Hello wshuo的博客 CSDN博客 remote ssh vscode 设置界面 右键最左边tab栏 主体 vscode 插件 Remote SSH Linux主体 vscode
  • 【Complex-YOLO: 点云实时目标检测】

    Complex YOLO 点云实时目标检测 前言 要点分析 具体算法分析 点云转化鸟瞰图 提取特征 B Box损失回归 前言 Complex YOLO 论文中介绍是一种仅在点云上进行的最先进的实时3D目标检测网络 借鉴了yolo v2的主干
  • Java语言实现word转PDF(10分钟解决)

    前言 经常做OA办公项目的同学一定和我一样被各种线上的office操作整疯了 基本上涉及到Java操作office的时候就会想到POI和openoffice 这两种方案都是需要找各种jar包 然后用里面繁杂的api 关键是做出来的文件格式有
  • ORA-28002 & PASSWORD_LIFE_TIME & PASSWORD_GRACE_TIME

    Normal 0 7 8 磅 0 2 false false false EN US ZH CN X NONE PASSWORD LIFE TIME 设置的是数据库开始报告ORA 28002密码要过期的时间 PASSWORD GRACE T
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 【转载】odoo技术开发白皮书 第一部分 第九章 权限

    转载 http book odoomommy com chapter1 README8 html 第九章 权限 Odoo的权限管理 从粗到细可以大概分为四个等级 对象级 视图级 字段级 记录级 什么意思呢 总结起来大概如下面的描述 对象级
  • 大家的毕业设计怎么做的?跟我一样吗?无极低码说你:只管建库建表,剩下的交给我

    首先呢 介绍一下无敌低代码平台 无极低代码平台是作者自己搭建的一个框架 刚开始由3行代码写服务升级而来 3行代码写服务当然也是作者自己写的 目的就是为了减少基础的开发工作 让不会后端开发的人员能够通过简单的步骤实现服务接口的编写 后面觉得3
  • 对比 Exception 和 Error,运行时异常与一般异常有什么区别?

    相同点 Exception 和 Error 都是继承了 Throwable 类 在 Java 中只有 Throwable 类型的实例才可以被抛出 throw 或者捕获 catch 它是异常处理机制的基本组成类型 Exception 和 Er
  • vue5种方式实现页面“刷新“

    vue中五种方式实现页面 刷新 1 使用window location reload 强制刷新 都会使页面有短暂的空白 体验效果不是特别好 home vue