Vue点击当前路由实现刷新
Vue点击当前路由实现刷新
前言:在后台管理系统中,有这样一个需求点击当前菜单栏时,页面依旧可以刷新。
点击当前路由实现数据请求页面刷新
思路
点击当前菜单栏时,因为要进行跳转的路由和当前路由相同,所以router.push(当前路由)并不会执行。所以需要借由第三方组件来实现。
判断是否点击的当前路由,如果是则跳转到空白的第三方组件,并传递当前路由。在空白组件中created的生命周期中接受参数,并执行页面跳转。此时页面不会显示任何内容就开始进行跳转,所以速度的问题不用担心。视觉上的效果就是点击当前路由后,页面刷新请求数据。实际路由已经跳转了两次。
Code
//点击路由进行跳转操作
jump(url) {
//判断是否是当前路由
if(url == this.$route.path) {
this.$router.push({
path: 'redirect',
query: rul
})
} else {
this.$router.push({
path: url
})
}
}
空白组件:
<template>
<div></div>
</template>
<script>
export default {
data() {
return {
}
},
created() {
let url = this.$route.query;
let str = '';
for(let i in url) {
str += url[i];
}
const path = this.$route.query;
this.$router.push({
path: str,
});
}
}
</script>
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!