Vue刷新页面的三种方式[通俗易懂]

Vue刷新页面的三种方式[通俗易懂]我们在写项目的时候,经常会遇到,用户执行完某个动作,改变了某些状态,需要重新刷新页面,以此来重新渲染页面。如:用户登录成功、增加、删除、更新等。原始方法:location.reload();vue自带的路由跳转:this.$router.go(0);用过的人都知道,前两者都是强制刷新页面,会出现短暂的闪烁,用户体验效果不好。所以,我们选择第三种方式:3.首先在App里面…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

我们在写项目的时候,经常会遇到,用户执行完某个动作,改变了某些状态,需要重新刷新页面,以此来重新渲染页面。如:用户登录成功、增加、删除、更新等。

  1. 原始方法:
location.reload();
  1. vue自带的路由跳转:
this.$router.go(0);

用过的人都知道,前两者都是强制刷新页面,会出现短暂的闪烁,用户体验效果不好。
所以,我们选择第三种方式:
3. 首先在App里面写下如下代码:

<template>
    <div id="app">
    	<router-view v-if="isRouterAlive"></router-view>
	</div>
</template>
<script>
    export default { 
   
        name: 'App',
        provide () { 
       //父组件中通过provide来提供变量,在子组件中通过inject来注入变量。 
            return { 
   
                reload: this.reload                                              
            }
        },
        data() { 
   
            return{ 
   
                isRouterAlive: true                    //控制视图是否显示的变量
            }
        },
        methods: { 
   
            reload () { 
   
                this.isRouterAlive = false;            //先关闭,
                this.$nextTick(function () { 
   
                    this.isRouterAlive = true;         //再打开
                }) 
            }
        }}
</script>

接下来,我们就可以在需要刷新页面的组件里这样写:

export default { 
   
    inject:['reload'],                                 //注入App里的reload方法
    data () { 
   
        return { 
   
    	.......
        }
    },

在需要刷新页面的代码块中使用:

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

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

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


相关推荐

  • lan8742a_工业互联-Microchip极佳以太网物理层收发器KSZ8041/LAN8720A推荐

    lan8742a_工业互联-Microchip极佳以太网物理层收发器KSZ8041/LAN8720A推荐原标题:工业互联-Microchip极佳以太网物理层收发器KSZ8041/LAN8720A推荐Microchip推出多款拥有高级功能、合规认证、全面的软件支持和产品化评估工具的以太网芯片组合,帮助降低高速网络部署的复杂性和消除部署过程中的障碍,并致力为客户提供完善的高可靠性以太网产品平台,帮助客户易于获得设计资源和简化产品设计。KSZ8041NLMicrochip公司KSZ8041NL,其内核可在…

    2022年6月22日
    63
  • Java分割字符串

    Java分割字符串java中按某个标识符分割字符串的方法如下:Scannerscanner=newScanner(System.in);Stringsource=scanner.next();String[]sourceArray=source.split(“/”);for(inti=0;i<sourceArray.length;i++){System.out.println(sour

    2022年9月26日
    4
  • mysql根据经纬度计算距离函数_根据两点经纬度坐标计算距离

    mysql根据经纬度计算距离函数_根据两点经纬度坐标计算距离方式1:st_distance_sphereSELECT*,st_distance_sphere(point(lng,lat),point(116.3424590000,40.0497810000))asjuliFROMtableORDERBYjuliASC没用除以1000,所以是以米为单位方式2:st_distanceSELECT*,(st_distance(point(lng,lat),point(116.3424590000,40.0497810000))*1

    2022年9月24日
    4
  • 设置java环境变量path_配置java环境变量path怎么设置[通俗易懂]

    设置java环境变量path_配置java环境变量path怎么设置[通俗易懂]只需要在path中增加%JAVA_HOME%\bin;即可。完整的JDK安装及环境变量配置如下:安装JDK选择安装目录安装过程中会出现两次安装提示。第一次是安装jdk,第二次是安装jre。建议两个都安装在同一个java文件夹中的不同文件夹中。(不能都安装在java文件夹的根目录下,jdk和jre安装在同一文件夹会出错)安装jdkjre建议安装在默认位置。安装完JDK后配置环境变…

    2022年6月21日
    33
  • axios安装与基本方法

    axios安装与基本方法安装:1.npm安装:npminstallaxios2.在主入口文件main.js中引用:importaxiosfrom’axios’Vue.use(axios);3.在组件文件中的methods里使用:getNewsList(){this.axios.get(‘api/getNewsList’).then((response)=>{this.newsList=response.data.data;}).cat

    2025年6月1日
    4
  • 至尊问题「建议收藏」

    称号:已知m、n为整数,且满足下列两个条件:① m、n∈1,2,…,K,(1≤K≤10^9)② (n^ 2-mn-m^2)^2=1编一程序,对给定K,求一组满足上述两个条件的m、n,而且使m^2+n^2的值最大。比如,若K=1995,则m=987,n=1597,则m、n满足条件,且可使m^2+n^2的值最大。输入输入仅一行,K的值。输出…

    2022年4月13日
    46

发表回复

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

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