vue 页面不刷新_Vue刷新页面的三种方式

73cb06b6228e34425ee194532a9155bd.png

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

  2. location.reload();
  3. vue自带的路由跳转:

  4. 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://blog.csdn.net/weixin_43885417/article/details/91310674

3447d9d7635bdbd04260c8cfeeb67def.png

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值