路由——嵌套路由

45 篇文章 0 订阅

配置子路由

const user = () => import('./user.vue')
const router = new VueRouter({
  routes: [
    { 
     	path: '/user', 
     	component: user,
     	redirect:'默认子路由path',
     	children: [
            {
                path: '',
                name: 'user', // 默认子路由
                component: Profile
            },
            {
                 path: 'cart',
                 name: 'user-cart',
                 component: Cart
             }
 		 ]
    },
  ]
  • 子路由的 path 不需要加 /
  • 如果一个子路由的 path 为空,表示为默认子路由。父级 name 属性需要设置给这个默认子路由
  • 默认子路由:父设置redirect:子路由的path

父组件里使用 < router-view > 标签放置子组件

  
  //使用
  <template>
    <div>
        <h3>用户中心</h3>
        <ul class="left">
            <router-link exact tag="li" :to="{name: 'user'}">基本信息</router-link>
            <router-link tag="li" :to="{name: 'user-cart'}">我的购物车</router-link>
        </ul>
        <div class="right">
            <router-view></router-view> //放置子页面
        </div>
    </div>
</template>

如果父组件里不需要写任何代码,只需要,可以使用render函数生成一个标签,不需要创建父组件

  {
    path: "/user",
    component: { render: (h) => h("router-view") },
    redirect: "/user/login",
    children: [
      {
        path: "/user/login",
        name: "Login",
        component: () => import("@/views/User/Login"),
      },
      {
        path: "/user/register",
        name: "Register",
        component: () => import("@/views/User/Register"),
      },
    ],
  },
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小曲曲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值