【Vue】Vue-route路由

本文详细介绍了Vue-router的组成部分,包括router-link、router-view、route和router的使用。讲解了匹配规则、动态路由、嵌套路由、路由守卫、路由懒加载等内容,并探讨了导航故障处理和动态添加、删除路由的方法。还提到了如何扩展RouterLink组件以实现更灵活的路由链接操作。
摘要由CSDN通过智能技术生成

Vue-router官网
由vue-router模块控制,需要额外安装依赖。参考官网

npm install vue-router --save

组成

  • router-link:路由链接,跳转至路由视图,展示指定路由组件信息
  • router-view:路由视图,展示路由组件信息
  • route:路由信息
  • router:路由对象

router-link

路由跳转,类似a标签,路由跳转作用

<router-link to="" />

router-view

路由视图,用于其他组件在该视图位置显示。

<router-view name="name" />
<!-- 可以指定视图名,在路由跳转时可通过视图名指定视图位置跳转路由 -->

route

{
   
  path:'/url',
  name:'name',
  components:{
    // one,two会绑定对应名称的路由视图上<router-view name='name'/>
    default: ComponentZero,
    one:ComponentOne,
    two:ComponentTwo, 
  },
  meta: {
    transition: 'slide-right' }, // 路由元信息,可以通过router.meta获取指定元信息
  component:ComponentZero, //在默认路由视图上跳转
  redirect:'', // 重定向,也可详细描述route信息{path:'url'}
  children:[ // 嵌套路由
    {
   
      path:'/url1', // 即/url/url1/的访问
      component:ComponentOne,
    },
    {
   
      path:'/url2', // 即/url/url2/的访问
      component:ComponentTwo,
    }
  ],
  beforeEnter:(to, from) => {
    // 路由守卫,独享
    // reject the navigation
    return false
  },
}

router

{
   
  history:createWebHashHistory(), // history模式,hash式和非hash式
  routes:routes,// 绑定路由集
  strict: true, // 严格区分大小写,也可在单个路由配置
  sensitive: true, // 不区分大小写,也可在单个路由配置
  scrollBehavior (to, from, savedPosition) {
    //滚动行为
    // return 期望滚动到哪个的位置
  },
}

匹配规则

  • 自定义正则
  • 可重复参数
  • 大小写敏感控制
  • 可选参数
const routes = [
  // 匹配 /o/3549
  {
    path: '/o/:orderId' },
  // 匹配 /p/books
  {
    path: '/p/:productName' },
  // /:orderId -> 仅匹配数字
  {
    path: '/:orderId(\\d+)' },
  // /:productName -> 匹配其他任何内容
  {
    path: '/:productName' },

  // /:chapters ->  匹配 /one, /one/two, /one/two/three, 等,至少有一个参数,否则异常
  {
    path: '/:chapters+' },
  // /:chapters -> 匹配 /, /one, /one/two, /one/two/three, 等
  {
    path: '/:chapters*' },
  // 匹配 /, /1, /1/2, 等
  {
    path: '/:chapters(\\d+)*' },


  // 将匹配 /users/posva 而非:
  // - /users/posva/ 当 strict: true
  // - /Users/posva 当 sensitive: true
  {
    path: '/users/:id', sensitive: true }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值