美文网首页
2020-07-13 Vue框架下页面刷新的高级方式

2020-07-13 Vue框架下页面刷新的高级方式

作者: 帅气的昵称吧啊 | 来源:发表于2020-07-13 13:53 被阅读0次

    1.原始方法:

    location.reload();

    1. 路由跳转:

    this.$router.go(0);

    总结:上述均是强制刷新,会出现页面重新加载,出现短暂的闪烁,用户体验不好。

    亲测第三种方式交互体验友好,并且无任何闪烁。

    1. 首先修改App.vue中的代码:
    <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

    相关文章

      网友评论

          本文标题:2020-07-13 Vue框架下页面刷新的高级方式

          本文链接:https://www.haomeiwen.com/subject/jkuacktx.html