vue-router的本质是建立起url和页面之间的映射关系
三种方式:hash,history,abstract
hash模式
hash是URL中的锚点,代表的是网页中的一个位置,改变#后的部分,浏览器只会加载相应位置的内容,不会重新加载页面。
histoty模式
HTML5提供的一种方式,利用 history.pushState API 来完成 URL 跳转而无须重新加载页面
abstract模式
abstract模式是使用一个不依赖于浏览器的浏览历史虚拟管理后端。移动端原生环境较多为这种模式
编程式路由:
router.push向history栈添加一个新的记录,点击返回可以返回上个链接。
router.replace不向history中添加新纪录,而是替换掉当前的history记录
router.go意思是在 history 记录中向前或者后退多少步
路由守卫
常用的:
1.全局前置守卫
router.beforeEach(to,from,next){
//判断由哪个路由进入哪个路由
//不能忘记next,否则路由不进入下一管道
next()
}
2.组件中的路由
router.beforeRouteEnter(to,form,next){} //可以在路由组件内直接定义,即可以在配置单个路由的时候使用