vue-router在单文件组件中的生命周期
介绍:
vue-router共有三个生命周期:beforeRouteEnter,beforeRouteUpdata,beforeRouteLeave。分别对应进入路由前,路由更新,离开当前路由。
钩子函数的参数
to:到哪里去。
from:从哪里来。
next:当这个函数执行时,表示继续执行下一步操作。不写会导致路由被拦截。
beforeRouteEnter
beforeRouteEnter (to, from, next) {
// 访问导航时候,执行这个路由执行的第一的函数
// 这个时候组件还没有初始化,无法访问this
console.log(this) // undefined
next(function(vm){ // next中函数的参数,参数vm就是vue实例
// vm就是当前组件实例
console.log(vm.msg); //'hello'
})
},
beforeRouteUpdata
beforeRouteUpdata (to, from, next) {
// 这个是路由嵌套情况下,点击子导航触发
console.log('beforeRouteUpdata');
next(); // 不写这个钩子函数不会继续执行
console.log(this) // 可以访问组件实例
},
beforeRouteLeave
beforeRouteLeave (to, from, next) {
// 离开当前组件时候触发
}
加油 ······逆战班!!!