路由对象

1,路由对象出现在多个地方:

  ① 在组件内,this.$route

  ② 在 $route 观察者回调内

  ③ router.match(location) 的返回值

  ④ 路由守卫的参数

    

  ⑤ scrollBehavior 方法的参数

    

2,路由对象属性

  

  ① $route.path,字符串类型,对应当前路由的路径,总是解析为绝对路径

  ② $route.params,对象类型,一个 key/value 对象,包含了动态片段和全匹配片段,如果没有路由参数,就是一个空对象

  ③ $route.query:一个 key/value 对象,表示URL查询的参数,例如,对于路径 /user ? username = userA,则有 $route.query.username == userA,如果没有查询参数,则是个空对象

  ④ $route.hash:字符串类型,当前路由的 hash 值(带#),如果没有 hash 值,则为空字符串

  ⑤ $route.fullPath:字符串类型,完成解析后的URL,包含查询参数和 hash 的完整路径

  ⑥ $route.matched:一个数组,包含当前路由的所有嵌套片段的路由记录,路由记录就是routes 配置数组中的对象副本(还有在 children 数组)

  ⑦ $route.name,当前路由的名称,如果有命名路由的话

  ⑧ $route.redirectedFrom,如果存在重定向,即为重定向来源路由的名字

3,注入的属性

  通过在Vue的根实例的 router 配置传入 router 实例,下面这些属性成员会被注入到每个子组件

  this.$router,router 实例

  this.$route,当前激活的路由信息对象,这个属性只读的,里面的属性不可变的,但可以 watch 它。

4,增加的组件配置选项

  beforeRouteEnter

  beforeRouteUpdate

  beforeRouteLeave

 

posted @ 2021-01-30 19:26  shanlu  阅读(441)  评论(0编辑  收藏  举报