router

声明式导航

  • router-view 这个是把要显示的组件放到根的哪个位置 有点像组件里面的solt
  • router-link 这个有点像a标签
    • to 属性指要跳转到的路由路径,
    • tag属性是指定渲染成具体什么元素 例 tag = 'li' 最终后变成li标签
    • activeClass 激活状态的样式 对应的具体css里面的样式 activeClass='myActive'

二级路由及重定向

  • 首先在一级路由对应的组件里面做一个 router-view标签来指定渲染的具体位置

  • 路由嵌套的使用 这里二级路由可以写成全路径 也可以只写二级路由的名,千万别写成 / +二级路由名

  • redirect 重定向的使用

编程式导航

1、跳转 this.$router.push('/center') //跳转到center路由

2、动态路由传参
- 传参路由的定义

- 在跳转的组件mounted生命周期时可以使用 this.$route.params 可以获取传过来的信息   <font color='red'>注意:这里是$route  不要写成$router </font>


3、query 传参 (接收的时候和动态路由一样 只是后面params变为query就可以了) 这种方式对路由定义没有要求

// this.$router.push({ path: 'Mycomponent03', query: { age: 20 }})
      this.$router.push('Mycomponent03?age=300')

路由守卫

1、全局守卫的定义 (定义到路由里面) next函数放行或者跳转指定路由

2、局部守卫的定义 这个定义需要使用的组件里面


 beforeRouteEnter (to, from, next) {
    // 在渲染该组件的对应路由被 confirm 前调用
    // 不!能!获取组件实例 `this`
    // 因为当守卫执行前,组件实例还没被创建
  },
  beforeRouteUpdate (to, from, next) {
    // 在当前路由改变,但是该组件被复用时调用
    // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
    // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
    // 可以访问组件实例 `this`
  },
  beforeRouteLeave (to, from, next) {
    // 导航离开该组件的对应路由时调用
    // 可以访问组件实例 `this`
  }
posted @ 2020-04-24 14:57  战胜自已  阅读(1296)  评论(0)    收藏  举报