vue2 路由跳转同一页面不刷新问题记录

467 阅读1分钟

背景

碰到个需求,需要在当前页面点击确定创建后,重新进入该页面,以重新创建。发现单纯的使用this.$touter.push() push到当前路由页面不会刷新。

解决方案

新建refresh.vue文件如下:

<template>
    <div></div>
</template>
<script>
/*
*  该页面为了实现路由跳转当前页面,从需要刷新的页面进入该页面再返回之前页面,实现刷新当前页面的效果
* */
export default {
    name: 'refresh',
    beforeRouteEnter(to, from, next) {
        next((vm) => {
            vm.$router.replace({
                path: from.path, query: from.query
            });
        });
    }
};
</script>

<style scoped>

</style>

为该文件配置路由如下:

const Refresh = {
    path: '/refresh',
    name: 'refresh',
    mode: 'history',
    component: resolve => require(['@/views/refresh.vue'], resolve),
};

使用的时候,只要push到fresh页面就可以了。如下:

this.$router.push({ name: 'refresh' })