解决:VUE同一路由强制刷新页面
解决:VUE同一路由强制刷新页面
·
目录
1. 思路
- 使用
this.$router.replace()
,跳到一个空白页,然后this.$router.replace()
重新跳回来 - 使用
this.$router.replace()
的原因是,其实跟this.$router.push()
效果一样,但是this.$router.replace()
不会记录到history里,不留痕迹 - 甚至不用打开空白页,直接用
beforeRouteEnter
拦截跳回原来页面
2. 实现过程
2.1 新建一个名为refresh.vue的文件
2.2 在refresh.vue里添加 beforeRouteEnter
<template> </template>
<script>
export default {
beforeRouteEnter(to, from, next) {
next(vm => {
vm.$router.replace(from.path)
// 跳到该路由页面后,再替换为from.path来源路径
})
}
}
</script>
2.3 在路由文件里,加上refresh 的路由
{
path: '/refresh',
component: resolve => require(['@/pages/refresh'], resolve),
meta: {
title: '用于同路由刷新'
}
}
2.4 当你想刷新当前页面的时候,可以调用下面这段代码
this.$router.replace('/refresh')
over,enjoy!
更多推荐
已为社区贡献1条内容
所有评论(0)