Vue多级路由

多级路由

多级路由是指多个 <router-view> 路由层层嵌套;例如页面A中有一个 <router-view> ,而页面A中的 <router-view> 所加载的页面B中又有 <router-view> ,这样就形成的多级路由嵌套的情况;


多级路由,从根URL访问

路由配置中的 path/ 开头时,表示该路由始终从根URL访问

// 配置路由
const router = new VueRouter({
  routes:[
    {
      path:'/works',
      component:Works,
      name:'WorksLink',
      // 配置多级路由,在children数组里添加子路由信息
      children:[
        {path:'/work1',component:work1},
        {path:'/work2',component:work2},
        {path:'/work3',component:work3}
      ]
    },
  ],
  mode:'history'
})

访问链接:

localhost:8080/work1
localhost:8080/work2
localhost:8080/work3


多级路由,多级URL访问

路由配置中的 path 不以 / 开头时,表示该路由的URL路径从上级路由的 path 进行拼接

// 配置路由
const router = new VueRouter({
  routes:[
    {
      path:'/works',
      component:Works,
      name:'WorksLink',
      // 配置多级路由,在children数组里添加子路由信息
      children:[
        {path:'work1',component:work1},
        {path:'work2',component:work2},
        {path:'work3',component:work3}
      ]
    },
  ],
  mode:'history'
})

访问链接:(注:publicPath的配置会直接影响访问链接)

localhost:8080/works/work1
localhost:8080/works/work2
localhost:8080/works/work3


PublicPath

publicPath是部署应用包时的基本 URL,用法和 webpack 本身的 output.publicPath 一致,但 Vue CLI 在一些其他地方也需要用到这个值,所以请始终使用 publicPath 而不要直接修改 webpack 的 output.publicPath

默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.my-app.com/。如果应用被部署在一个子路径上,就需要用这个选项指定子路径。例如,如果你的应用被部署在 https://www.my-app.com/my-app/,则设置 publicPath 为 /my-app/

这个值也可以被设置为空字符串 ('') 或是相对路径 ('./'),这样所有的资源都会被链接为相对路径,这样打出来的包可以被部署在任意路径。

详见:https://juejin.cn/post/6844904126699044872


举报

© 著作权归作者所有


1