当前位置: 首页 > article >正文

Vue中常使用的三种刷新页面的方式

一、通过js原始方法刷新

缺点: 出现闪白

目录

一、通过js原始方法刷新

二、通过Vue自带的路由进行跳转

三、通过在APP页面进行demo进行刷新(推荐)

1.vue2写法

2. vue3.2写法


<template>
  <div>
      <div class="header">
          <button @click="update()">刷新页面</button>
      </div>
  </div>
</template>

<script>
export default {
    methods:{
        update(){
            location.reload()
        }
    }
}
</script>

二、通过Vue自带的路由进行跳转

缺点: 出现闪白

<template>
    <div>
        <div class="header">
            <button @click="update()">刷新页面</button>
        </div>
    </div>
</template>

<script>
export default {
    methods:{
        update(){
            this.$router.go(0)
        }
    }
}
</script>

三、通过在APP页面进行demo进行刷新(推荐)

优点: 不闪白

1.vue2写法

(1)、在APP页面中写入下面代码

<template>
    <div id="app">
        <router-view v-if="isShow"/>
    </div>
</template>

<script>
export default {
    name: 'App',
    provide(){
        return{
            reload:this.reload
        }
    },
    data(){
        return{
            isShow:true
        }
    },
    methods:{
        reload(){
            this.isShow=false;
            this.$nextTick(()=>{
                this.isShow=true
            })
        }
   }
}
</script>

(2)、在需要刷新的页面进行引入并使用

<template>
    <div>
        <div class="header">
            <button @click="update()">刷新页面</button>
        </div>
    </div>
</template>

<script>
export default {
    inject:[
        'reload'
    ],
    methods:{
        update(){
            this.reload()
            console.log('刷新页面')
        }
    }
}
</script>

2. vue3.2写法

(1)、在APP页面中写入下面代码

<template>
    <router-view v-if="isRouter" />
</template>

<script setup>
import { nextTick, provide, ref } from "Vue"
const isRouter = ref(true)
const reload = () => {
    isRouter.value = false
    nextTick(() => {
        isRouter.value = true
    })
}
provide("reload", reload)
</script>

(2)、在需要刷新的页面进行引入并使用

<script setup>
import { inject } from 'vue'
const reload = inject("reload")
// 刷新页面
const onSubmitForm = () => {
    reload()
}
</script>

如果对您有用的话,别忘了给个三连,多谢多谢


http://www.kler.cn/a/2044.html

相关文章:

  • PostgreSQL表达式的类型
  • 5G 模组 RG500Q常用AT命令
  • 在Java虚拟机(JVM)中,方法可以分为虚方法和非虚方法。
  • 猫咪睡眠:萌态背后的奥秘与启示
  • C 数组:索引魔杖点化的数据星图阵列
  • electron-vite【实战系列教程】
  • 12个 Python 装饰器让代码cleaner
  • Android Lacent Aop 字节编码修复7.1系统Toast问题(WindowManager$BadTokenException)
  • 手动创建数据集(csv文件),用于Pytorch深度学习
  • 【运维】运维常用命令
  • 【Linux】学会这些基本指令来上手Linux吧
  • iOS 紧急通知
  • nodejs篇 express(1)
  • Python 可视化最频繁使用的10大工具
  • RK3588平台开发系列讲解(NPU篇)NPU调试方法
  • LeetCode--缺失的第一个正数(41)和 接雨水(42)
  • Elastic 之 elasticsearch 基本操作
  • 【数据结构】千字深入浅出讲解队列(附原码 | 超详解)
  • 【设计模式】UML、RUP、元素、关系、视图
  • 二分查找法
  • 经典七大比较排序算法 · 下 + 附计数和基数排序
  • 如何用matlab工具箱训练一个SOM神经网络
  • synchronized 加锁 this 和 class 的区别
  • QT | 编写一个简单的上位机
  • GEC6818开发板JPG图像显示,科大讯飞离线语音识别包Linux_aitalk_exp1227_1398d7c6运行demo程序,开发板实现录音
  • 思维导图模板怎么制作?提供几种思路