Vue刷新当前页面(成功)

Vue刷新当前页面(成功)查了资料一共有三种办法,只试过两种,都成功了,介绍一下。一、直接路由刷新vue自带了刷新的办法this.$router.go(0);但是这个办法会让整个当前页面刷新,相当于F5。如果项目中只是做一个编辑修改操作,希望修改后数据立马改变,但是使用此方法会出现一个短暂的空白页(如下图),用户效果特别不好,不推荐。二、使用provice和inject结合的方法这种方法会局部刷新,不会出现…


Jetbrains全系列IDE稳定放心使用

查了资料一共有三种办法,只试过两种,都成功了,介绍一下。

一、直接路由刷新

vue自带了刷新的办法

this.$router.go(0);

但是这个办法会让整个当前页面刷新,相当于F5。如果项目中只是做一个编辑修改操作,希望修改后数据立马改变,但是使用此方法会出现一个短暂的空白页(如下图),用户效果特别不好,不推荐。
在这里插入图片描述

二、使用provice和inject结合的方法

这种方法会局部刷新,不会出现整个页面刷新的效果,非常适合项目中更新操作后的刷新页面。
1.首先找到vue项目中的App.vue,这是根组件,相当于所有*.vue的父组件了,所以在这里去定义reload可以全局使用。

在这里插入图片描述
2.在App.vue中添加刷新代码

<template>
  <div id="app">
    <router-view v-if="isRouterAlive"></router-view>
  </div>
</template>
<script>
export default {
  name: 'App',
  provide(){
    return{
      reload:this.reload
    }
  },
  data(){
    return{
      isRouterAlive:true
    }
  },
  methods:{
    reload(){
      this.isRouterAlive = false;
      this.$nextTick(function(){
        this.isRouterAlive = true;
      })
    }
  }
}
</script>

在这里插入图片描述这是我的app.vue,大家的可能不一样,不过不影响。

3.然后在需要刷新的子组件页面中添加inject。

export default {
    inject:['reload'],
    data () {
        return {
        ...
        }
    },

在这里插入图片描述
4.最后在刷新页面中需要刷新的地方添加this.reload()方法

this.reload();

在这里插入图片描述

还有一种刷新方法是先进入一个空路由,然后在立马返回,这种方法没什么必要,百度上也有方法详解,所以这里不介绍了,个人认为还是使用provice和inject结合最适合。
希望可以帮助到大家!

一开始嫌麻烦用的是第一种,但是放到项目中的时候实在是影响,体验效果极差,于是果断换了方法!果然还是第二种好用。所以以后不要嫌麻烦……多试试新方法!

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

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • long转string的方法

    long转string的方法publicclassTest{publicstaticvoidmain(String[]args){longa1=12;Strings1=a1+””;//法1:直接加空串System.out.println(s1+999);longa2=34;Strings2…

    2022年5月15日
  • Flowable API

    Flowable APIFlowableAPI 流程引擎API与服务引擎API是与Flowable交互的最常用手段。总入口点是ProcessEngine。可以使用多种方式创建。使用ProcessEngine,可以获得各种提供工作流/BPMN方法的服务。它是线程安全的,可以在服务器中保存并共用一个引用。  ProcessEngineprocessEngine=ProcessEngine…

    2022年5月11日
  • 利用cmd命令进入mysql数据库

    利用cmd命令进入mysql数据库1.打开cmd。2.输入电脑上mysql安装的盘路径:之后回车3.输入完整的mysql.exe安装路径:cdD:\mysql\bin 之后回车4.输入mysal-hlocalhost-uroot(数据库名称)-p*****(数据库的密码)之后回车注:每个-前都有空格5.此时已进入mysql数据库,可以根据showdatabases;语句显示现有的数据库6.也可以对数据库进行操作,例如

    2022年5月31日
  • 2021版idea激活码99年-激活码分享

    (2021版idea激活码99年)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
  • java的几种排序算法(常用排序算法)

    1.插入排序publicclassInsertSort{publicstaticvoidsort(int[]arr){if(arr.length&amp;amp;amp;gt;=2){for(inti=1;i&amp;amp;amp;lt;arr.length;i++){//挖出一个要用来插入的值,同时位置上留下…

    2022年4月11日
  • webgame开发中常用的一些类

    webgame开发中常用的一些类这个只是自己在开发游戏过程中所总结出来的,仅供参考。1、加载队列QueueLoader,游戏一定是有很多的资源需要加载,这个类可以让资源以顺序进行加载;2、ZIP解压工具类nochump类,这里有之前写过的例子–>使用as工具包解压zip文件。这里还有另外一个Zip处理类ZipArchive3、声音管理类SoundManager,游戏一般都有很多音乐需要管理:…

    2022年6月3日

发表回复

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

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