vue-router 使用 --vue-admin-element

vue-router 使用 本教程源于官网https://router.vuejs.org/zh/guide/#javascript 的总结 提炼

vue-router(一)

vue调用如下
this.router 访问路由器 this.route 访问当前路由

(一) 动态路由

1 动态路由匹配

eg: /user/foo 和 user/bar 俩个路由使用同一个组件

  routes: [
    // 动态路径参数 以冒号开头
    { path: '/user/:id', component: User }
  ]

匹配了怎么怎么到 /user/:id 的 id值呢
在组件下调用 $route.params.id 查询
有趣玩法: /user/:username/post/:post_id

2 响应路由参数的变化

同一组复用固然高效,但是不会出发vue的mount等函数
方法 1:利用watch

export default( {
  watch: {
    '$route' (to, from) {
      // 对路由变化作出响应...
    }
  }
})

方法 2: 2.2 中引入的 beforeRouteUpdate 路由守卫

export default( {
  beforeRouteUpdate (to, from, next) {
      // 路由更新前调用
  }
})

3 捕获所有路由或 404 Not found 路由

{
  // 会匹配所有路径
  path: '*'
}
{
  // 会匹配以 `/user` 开头的任意路径
  path: '/user*'
}

当路由时通过*匹配得出的 那么会有一个
this.$route.params.pathMatch 指向被匹配的部分
eg: 路由 /user/ffffff 则 this.$route.params.pathMatch 值时 /ffffff

4 匹配优先级

那个写在前面那个优先级高

(二)嵌套路由

及写子路由方法

const router = new VueRouter({
  routes: [
   // 这里时  /:id 下的子路由
    { path: '/user/:id', component: User,
      children: [
        {
          path: 'profile',  // 不是以/ 开头
          component: UserProfile
           name:"",
           meta:{}
        },
      ]
    }
  ]
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容