命名路由
使用命名路由实现声明式导航
要在路由规则里加上name属性,相对于给这个地址取别名,当地址非常长时可以充分体现它的好用之处。
这里的to属性前面要加个冒号噢
调用push函数期间指定一个配置对象,name是要跳转到的路由规则、params是携带的路由参数
导航守卫
声明全局导航守卫
设置了导航守卫后,每次访问该路由中的路径都会先调用fn功能,该函数用路由对象所带的beforeEach功能来编写。可以在该功能内部对权限进行判断和后续操作。
实操
守卫方法中的三个形参
这三个参数不是必须填写,是可选的。
to包含了当前访问的路由的基本信息,可以打印在控制台上查看
from包含着来路路由的基本信息,也可以打印出来查看,这样子很方便两个路由之间的数据交流
from和to都是一个对象,包含着来入路路由和目标路由的基本信息。
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
即如果只是接受了next形参没有进行调用,任何一个路由都无法正常使用。
next()表示放行。
如果在next里传入false,可以强制其停留在当前页面。(也就是你想进进不去,只能留在目前的页面)
还可以传入一个hash地址强制跳转到其他页面,例如检测到未登录无权限访问个人中心,可以谈通过next(’/login‘)强制跳转到登录页面。
所以后面具体实现守卫方法时,可以做判断,if(满足放行条件)next()else next(flase)
或者if(满足放行条件)next()else next(’/xxx‘)。
next函数的3种调用方式
也就是上面介绍的三种调用方法。