关于vue嵌套路由路径斜杆/问题的探究

又到了“/”时刻,是不是有些激动 。。。

众所周知,路径前加/代表跟路径,绝对路径,不加斜杠是相对路径。

拿来一段vue路由嵌套代码,让我们搞一搞它的“/”

{
      path:'/home',
      name:'Home',
      redirect:'/index',
      component:home,
      children:[{
        path:'/index',
        name: 'Index',
        component: Index,
        meta:{
          requireAuth:true
        }
      }]
    },

1.首先对于根组件上的path

如果为/home,着在浏览器地址栏输入 http://localhost:8080/home 就能直接访问

如果为home(不加/)呢,着在浏览器地址栏输入 http://localhost:8080/home 可以直接访问到吗?

答案是:不可以。原因是,不加/代表相对路径,它的相对位置在哪,我也不知道,但这里不是/

所以记着,这个路径前面一定要加“/”

2.其次根组件上的redirect

这个加不加“/”都一样,因为默认是加上的,redirect为重定向,默认使用绝对路径

3.子组件里面的path(只要能访问到子组件,父组件就会被渲染出来)

同样的如果其值为:/index代表绝对路径,通过浏览器http://localhost:8080/index 可以直接访问到

如果是 index(不加/) 呢 ,它代表是相对路径,那相对于谁呢,当然是父组件了。因此,如果你想访问次子组件就要这样访问 http://localhost:8080/home/index

这是我个人理解,如果有不对的点,欢迎大家指出

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Vue 2 的嵌套路由可以帮助我们构建复杂的页面结构。在嵌套路由中,一个路由可以包含多个子路由,而每个子路由又可以再次包含自己的子路由。 下面是一个示例,展示了如何在 Vue 2 中使用嵌套路由: 首先,我们需要设置主路由(父路由),这可以在 `router/index.js` 文件中完成: ```javascript import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [ { path: '/', component: Home, children: [ { path: 'about', component: About, children: [ { path: 'contact', component: Contact }, // 其他子路由... ] }, // 其他子路由... ] } ] }) ``` 在上面的示例中,我们定义了一个主路由 `/`,它的组件是 `Home`。然后,我们定义了一个子路由 `/about`,它的组件是 `About`。在 `About` 组件中,又定义了一个子路由 `/contact`,它的组件是 `Contact`。 现在,我们可以在 `Home` 组件的模板中添加一个 `<router-view>` 标签来展示嵌套路由的内容: ```html <template> <div> <h1>Home</h1> <router-view></router-view> </div> </template> ``` 同样地,在 `About` 组件的模板中也要添加一个 `<router-view>` 标签: ```html <template> <div> <h2>About</h2> <router-view></router-view> </div> </template> ``` 这样,当我们访问 `/about` 路径时,`Home` 组件会显示出来,并且在其中展示 `About` 组件。 当访问 `/about/contact` 路径时,`Home` 和 `About` 组件都会显示出来,并且在 `About` 组件中展示 `Contact` 组件。 希望这个示例对你有所帮助!如果你还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值