写在router文件夹中的js文件中

    1. 前置守卫(限制一些页面有token才可以访问)
    2. //to跳到那个页面 from 从那个页面跳转过来的 next(方法)决定是否能跳转到那个页面
    3. 当访问一个需要有token的页面需要判断(不是想跳到那个页面就跳到那个页面)
    4. router.beforeEach((to,from,next)=>{
    5. //任何页面的访问都要先经过这个beforeEach
    6. if(to.path==='/my'&&!this.$store.state.userInfo.token){
    7. //当进入我的页面,但是没有token,代表没有等录,跳转到登录页
    8. next('/login') 让它跳转到登录页
    9. }else{
    10. //如果访问其他页面,不论有没有token都让访问
    11. next()
    12. }
    13. })
    14. 作用:做页面的访问限制(比如有些页面需要登录有token,才让它跳转到那个页面)
    1. //后置守卫
    2. //一般就是用来获取那个页面被访问完了
    3. //就是用来做那个页面访问的次数(大数据)
    4. router.afterEach((to,from)=>{
    5. })

    前置守卫的用法实例
    注意有可能用不到from但是在()中to,from,next都还是需要都写上的,写上不用也不报错

    image.png
    在next()中可以规定跳到那个页面,next如果放到if判断中的话,就是让它跳到它next()中写的那个页面
    next()中啥也不写,就代表,想跳到那个页面就跳到那个页面(也就是to.path)用户自己想跳的页面
    next(false)的话就代码不跳转页面,代码用户点击跳转页面,还是不跳转(还让用户处于当前页面不跳转)