首页 > 解决方案 > Vue-router 上次访问的嵌套路由在重定向后仍然处于活动状态

问题描述

在深层路由模式中,嵌套路由更改没有问题,但是当我转到父级并通过来自父级的重定向返回嵌套子级时。重定向没有顺利应用。路径明显变化,但页面仍然显示上次访问的嵌套路由。当我检查 vue devtool 时。我看到重定向的路线处于非活动状态,但上次访问的路线处于活动状态。

export default [      
  {
    path: '/1/',
    name: 'sumaipad',
    component: () => import(/* webpackChunkName: "group-sumaipad" */ './views/index.vue'),
    redirect:"/1/slideshow",
    children: [
      {
         path:"/1/vista",
         name: "vista",
         meta: {
            order: 1
         },
         component: () => import(/* webpackChunkName: "group-sumaipad" */ './views/vista.vue'),
      },
      {
        path: '/1/plans',
        name: 'plans',
        component: () => import(/* webpackChunkName: "group-sumaipad" */ './views/plans.vue'),
        redirect:{name:"rooms"},
        meta:{
          order: 2,
        },
        children:[
          {
            path: 'rooms',
            name: 'rooms',
            component: () => import(/* webpackChunkName: "group-plans" */ './views/plans/rooms.vue'),
            children:[
              {
                path: ':id',
                name: 'room',
                component: () => import(/* webpackChunkName: "group-plans" */ './views/plans/room.vue'),
              }
            ]
          },
          {
            path: 'land',
            name: 'land',
            component: () => import(/* webpackChunkName: "group-plans" */ './views/plans/land.vue'),
          },
          {
            path: 'floor',
            name: 'floor',
            component: () => import(/* webpackChunkName: "group-plans" */ './views/plans/floor.vue'),
          },
        ]
      },
    ]
  }
]

例如,当我转到它时,它会毫无问题地plans重定向到它,然后我访问它的同级路由,然后我再次返回父级路由。roomslandvista

那么如果去,plans我希望将我重定向到rooms它实际上是重定向我。路径正在改变,但内容land处于嵌套级别。因为我最后参观了它。因此,即使将我重定向到rooms,房间路由在 vue devtools 中也处于非活动状态。

有没有办法改变重定向后上次访问的活动非活动路由?

标签: vue.jsvue-router

解决方案


推荐阅读