Vue 路由跳转为什么会刷新页面 ?

…
{
    path: '/index',
    name: 'Home',
    component: Layout,
    redirect: '/list',
    children: [
      {
        path: 'list',
        name: 'DataList',
        component: () => import('@/views/data/index'),
        meta: {
          keepAlive: true
        }
      },
      {
        path: 'sub',
        name: 'TopicSubs',
        component: () => import('@/views/Data/Sub'),
        meta: {
          keepAlive: true
        }
      },
      {
        path: 'details',
        name: 'DataView',
        component: () => import('@/views/Data/details')
      }
    ]
  },
…

History 模式,路由配置如上

进入 /index 会自动 redirect 到 /index/list (或直接访问 /index/list )

在 list 页面钩子方法中加载页面数据,然后列表中通过 router-link 组件路由到 /index/sub

这个时候,为什么页面像刷新了一样,就是控制台network 会清空,重新加载 sub 页面的请求,从 sub 进入到 /index/details 则不会 …

这样就是 从 details 页面后退到 sub 页面,不会刷新,从 sub 后退到 list ,会刷新 …

阅读 4.1k
1 个回答

这和你页面的activated函数有关吧?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题