vue+element刷新當前路由

如何作到每次點擊相同的路由地址都去渲染頁面?vue

需求是後臺管理系統的菜單導航,點擊同一個菜單須要刷新頁面,跟以前作多頁面應用要達到同樣的效果,vue-router

如下是網上找到的方法(個人vue版本是2.5,vue-router 3.0)this

1.加時間戳spa

 reloadRouter(path) { this.$router.push({ path, query: { t: +new Date() } }); } 

此方法無效code

2.router

this.$router.go(0);

此方法有效,可是整個頁面都刷新了,blog

最後的解決辦法是建立一個空的組件,redirect.vue,ip

每次點擊跳轉到redirect空白頁,而且以params或者query把當前點擊的路由地址傳過去,(params傳值配置路由時須要name屬性)路由

redirect頁面渲染完成在取到路由帶過來的地址在進行跳轉,在空白頁面的停留時間很是短暫,這點不須要擔憂。class

完成!

這裏還需提醒一下

當你點擊菜單的時候判斷一下是否是相同的路由地址,是的話跳轉到redirect,不然正常跳轉

<template>
</template>
<script> export default { name: 'ZRedirect', created() { const path = this.$router.currentRoute.params; this.$router.push(path); } }; </script>
 reloadRouter(path) { this.$router.push({ name: 'redirect', params: { path: path } }); this.$router.push({ path: 'redirect', query: { path: path } }); }
相關文章
相關標籤/搜索