Bladeren bron

[Feature] 路由服用及Tag fix

AA 10 maanden geleden
bovenliggende
commit
51b9586eb2
4 gewijzigde bestanden met toevoegingen van 13 en 3 verwijderingen
  1. 1 1
      src/layout/components/TagsView/index.vue
  2. 6 0
      src/router/index.js
  3. 1 1
      src/store/modules/tagsView.js
  4. 5 1
      src/views/redirect/index.vue

+ 1 - 1
src/layout/components/TagsView/index.vue

@@ -67,7 +67,7 @@ export default {
   },
   methods: {
     isActive(route) {
-      return route.path === this.$route.path
+      return route.name === this.$route.name
     },
     isAffix(tag) {
       return tag.meta && tag.meta.affix

+ 6 - 0
src/router/index.js

@@ -46,6 +46,12 @@ export const constantRoutes = [
     hidden: true,
     children: [
       {
+        // 匹配到该路由,重定向时使用命名路由
+        path: '/redirect/name/:path(.*)',
+        component: () => import('@/views/redirect/index')
+      },
+      {
+        // 匹配到该路由,重定向时直接使用path
         path: '/redirect/:path(.*)',
         component: () => import('@/views/redirect/index')
       }

+ 1 - 1
src/store/modules/tagsView.js

@@ -5,7 +5,7 @@ const state = {
 
 const mutations = {
   ADD_VISITED_VIEW: (state, view) => {
-    if (state.visitedViews.some(v => v.path === view.path)) return
+    if (state.visitedViews.some(v => v.name === view.name)) return
     state.visitedViews.push(
       Object.assign({}, view, {
         title: view.meta.title || 'no-name'

+ 5 - 1
src/views/redirect/index.vue

@@ -3,7 +3,11 @@ export default {
   created() {
     const { params, query } = this.$route
     const { path } = params
-    this.$router.replace({ path: '/' + path, query })
+    if (/\/redirect\/name\/.+/.test(this.$route.path)) {
+      this.$router.replace({ name: path, params: query })
+    } else {
+      this.$router.replace({ path: '/' + path, query })
+    }
   },
   render: function(h) {
     return h() // avoid warning message