两种导航方式:声明式导航、编程式导航
1.声明式导航:点击链接实现导航的方式,例如:<a></a>、<router-link></router-link>等等
2.编程式导航:
①this.$router.push('hash地址')
跳转至指定hash地址,并增加一条历史记录
②this.$route.replace('hash地址')
跳转到指定的hash地址,并替代当前的历史记录
③this.$route.go(数值n)
可以在浏览历史中前进和后退
3.导航卫士:可以控制路由的访问权限,强制跳转页面;主要应用:网页中需要登录时,如果没有登录强制跳转至登录页面
①全局前置守卫:每次发生路由的导航跳转时,都会触发全局前置守卫,因此,在全局前置守卫中,程序员可以定义每个路由进行访问权限的控制:
使用:
const router = new VueRouter({})
router.beforeEach((to,from,next){
//to是将要访问的路由的信息对象
//from是将要离开的路由的信息对象
//next是一个函数,调用next()表示放行
})
②next函数的3种用法
next()表示放行,获得访问权限
next('hash地址’)表示强制跳转至某个页面
next(false)表示不允许跳转到后台页面