Vue Router 是 Vue.js官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。包含的功能有:
- 嵌套的路由/视图表
- 模块化的、基于组件的路由配置
- 路由参数、查询、通配符
- 基于 Vue.js 过渡系统的视图过渡效果
- 细粒度的导航控制
- 带有自动激活的 CSS class 的链接
- HTML5 历史模式或 hash 模式,在 IE9 中自动降级
- 自定义的滚动条行为
路由守卫
路由守卫分为3种
1、全局
论跳转任意的路由都会触发
全局的路由守卫有
router.beforeEach 进入之前
router.beforeResolve 在beforeRouteEnter调用之后调用
router.afterEach 进入路由之后
2、组件
道跳转该组件才会触发钩子函数
组件级的路由守卫有
beforeRouteEnter 路由跳转进入之前
beforeRouteUpdate 页面参数更新时触发
beforeRouteLeave 离开这个路由触发
3、单个
进入这个路由,才会触发相应的钩子函数
单个路由独享的守卫
beforeEnter只有使用这个路由,才能触发钩子函数
有三个参数:
to,from,next
to和from是将要进入和将要离开的路由对象。
next()这个参数是个函数,且必须调用,否则不能进入路由(页面空白)。
next() 进入该路由
next(false): 取消进入路由,url地址重置为from路由地址(也就是将要离开的路由