路由二
一、<router-link>的replace属性
1、作用:控制路由跳转时操作浏览器历史记录的模式
2、浏览器的历史记录有两种写入方式:分别为push和replace,push是追加历史记录,replace是替换当前记录。路由跳转时候默认为push
3、如何开启replace模式:<router-link replace .......>News</router-link>
二、编程式路由导航
作用:不借助<router-link> 实现路由跳转,让路由跳转更加灵活
//$router的两个API
this.$router.push({
name:'xiangqing',
params:{
id:xxx,
title:xxx
}
})
this.$router.replace({
name:'xiangqing',
params:{
id:xxx,
title:xxx
}
})
this.$router.forward() //前进
this.$router.back() //后退
this.$router.go() //可前进也可后退
三、缓存路由组件
作用:让不展示的路由组件保持挂载,不被销毁
<keep-alive include="News">
<router-view></router-view>
</keep-alive>
四、两个新的生命周期钩子
作用:路由组件所独有的两个钩子,用于捕获路由组件的激活状态
activated路由组件被激活时触发、deactivated路由组件失活时触发
五、路由守卫
作用:对路由进行权限控制
分类:全局守卫、独享守卫、组件内守卫
六、路由器的两种工作模式
1、对于一个url来说,什么是hash值?—— #及其后面的内容就是hash值
2、hash值不会包含在 HTTP 请求中,即:hash值不会带给服务器
hash模式——
1. 地址中永远带着#号,不美观 。
2. 若以后将地址通过第三方手机app分享,若app校验严格,则地址会被标记为不合法。
3. 兼容性较好。
history模式——
1. 地址干净,美观 。
2. 兼容性和hash模式相比略差。
3. 应用部署上线时需要后端人员支持,解决刷新页面服务端404的问题。