VUE中的路由守卫——beforeEach()

1.router.beforeEach()全局前置守卫

2.路由守卫 主要 用于"检验是否登录"了,没登录 就跳转到 登录页面 不让他在其他页面停留,但是现在这种处理主要的都用请求的全局拦截来做了。

3.to是一个对象                    from:从哪个路由离开,               next:函数,决定是否展示你要看到的路由页面。

4.代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<router-link to="/index">主页</router-link>
<router-link to="/login">登录</router-link>
<router-link to='/register'>注册</router-link>
<router-link to='/user'>用户中心</router-link>
<router-view></router-view>
</div>

<script src="js/vue.js"></script>
<!-- 1.引入 路由插件 -->
<script src="js/vue-router.js"></script>

<script>
// 申明局部组件
var Index  = {
template:`
        <div>
            <p>我是主页</p>
        </div>
        `,
}
var Login  = {
template:`
        <div>
            <p>我是登录页</p>
        </div>
        `,
}
var Register  = {
template:`
        <div>
            <p>我是注册页</p>
        </div>
        `,
}
var User  = {
template:`
        <div>
            <p>我是用户中心页</p>
        </div>
        `,
}
// 2.使用路由插件
Vue.use(VueRouter);
// 3.创建路由对象
var router = new VueRouter({
// 配置路由
routes :[
{
path:'/index',
name:'index',
component:Index
},
{
path:'/login',
name:'login',
component:Login
},
{
path:'/register',
name:'register',
component:Register
},
{
path:'/user',
name:'user',
component:User
}
]
})

// vue实例
// vue路由守卫(全局守卫)
var vm = new Vue({
el:'#app',
router,
data:{

},
methods:{

},
mounted:function(){
router.beforeEach((to,from,next)=>{
console.log(to);
console.log(from);
if(to.path == '/login' || to.path == '/register'){
next();
}else{
alert('请先登录');
next('/login')
}
})
}
})
</script>
</body>
</html>

 

 

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值