vue组件的路由钩子函数beforeRouteEnter,局部拦截
beforeRouteEnterbeforeRouteEnter 函数内部 this 是undefined,因为在执行路由钩子函数beforRouteEnter时候,组件还没有被创建出来;先执行beforRouteEnter,再执行组件周期钩子函数beforeCreate。我们可以通过 next 获取组件的实例对象,如:next( (vm)=>{} ),参数vm就是组件的实例化对象。&l..
·
beforeRouteEnter
beforeRouteEnter 函数内部 this 是undefined,因为在执行路由钩子函数beforRouteEnter时候,组件还没有被创建出来;先执行beforRouteEnter,再执行组件周期钩子函数beforeCreate。我们可以通过 next 获取组件的实例对象,如:next( (vm)=>{} ),参数vm就是组件的实例化对象。
<script>
export default {
data(){
return {
test:'改变之前'
}
},
beforeCreate(){//组件生命周期函数
console.log('beforeCreate')
},
//当进入组件之前,执行 beforRouteEnter 路由钩子函数
beforeRouteEnter(to,from,next){
console.log('beforRouteEnter')
console.log(this) // 结果为undefined,因为在执行beforRouteEnter时候,组件还没有被创建出来;先执行beforRouteEnter,再执行beforeCreate
next((vm)=>{ //参数vm就是当前组件的实例。
console.log(vm.test) // 改变之前
// 在这里面去判断用户是否登录,没有登陆就跳走
vm.$router.push('/login')
})
}
}
</script>
更多推荐
已为社区贡献1条内容
所有评论(0)