vue二级路由报错如何解决

本文讲解"vue二级路由报错怎么解决",希望能够解决相关问题。

vue二级路由报错的解决办法:1、检查并删除二级路由路径前面的斜杠;2、检查父路由是否有path,若path是斜杠,则redirect直接匹配page2;3、不使用redirect,并设置默认显示的子路由path为空即可。

  • vue中二级路由跳转不成功的一个原因

二级路由有具体的路径时前面不加斜杠/

vue二级路由报错如何解决

  • vue二级路由不显示页面bug

如果父路由path是 / 则redirect直接匹配page2就可以

  {
    path: '/',
    component: () => import('../view/analyse/analyse.vue'),
    redirect: '/page2', //这里前面加不加/都行
    children: [
      {
        path: 'page1',//这里前面加不加/都行
        component: () => import('../view/analyse/page/page1')
      },
      {
        path: 'page2',//这里前面加不加/都无所用
        component: () => import('../view/analyse/page/page2')
      },
    ]
  }

如果父路由有path,redirect必须前面加上父路由,不然就会变成 /子路径 而子路由默认显示需要匹配/父路径/子路径

  {
    path: '/analyse',
    component: () => import('../view/analyse/analyse.vue'),
    redirect: '/analyse/page2',//这里前面加不加/都行,必须父路由/子路由
    children: [
      {
       重点::::::::
       //这里前面不能加 /不然就会匹配成/page1
        path: 'page1',   实际他等同于 /analyse/page1
       //这里前面不能加 /不然就会匹配成/page1
        component: () => import('../view/analyse/page/page1')
      },
      {
        path: 'page2',   //这里前面不能加 /
        component: () => import('../view/analyse/page/page2')
      },
      {
        path: 'page3',   //这里前面不能加 /
        component: () => import('../view/analyse/page/page3')
      }
    ]
  }

不使用redirect默认显示的子路由path为空就可以了

{
    path: '/', 或者 path: '/analyse',
    component: () => import('../view/analyse/analyse.vue'),
    children: [
      {
        path: '' , path为空就可以了
        component: () => import('../view/analyse/page/page1')
      },
      {
        path: 'page2',
        component: () => import('../view/analyse/page/page2')
      },
    ]
  }

父页面需要有个占位标签来显示子路由的内容

 <div class="content"><router-view /></div>

关于 "vue二级路由报错怎么解决" 就介绍到此。希望多多支持编程宝库

本文讲解"vue能不能实现自适应",希望能够解决相关问题。vue能实现自适应,其实现自适应的方法有:1、通过“npm install”或“yarn add”命令安装“scale-box”组件,并使用“scale-bo ...