Vue 中监听路由信息
一、监听路由从哪来到哪去
watch:{$route(to,from){
console.log(from.path);//从哪来
console.log(to.path);//到哪去
}
}
二、监听路由变化获取新老路由
watch:{$route:{
handler(val,oldval){
console.log(val);//新路由信息
console.log(oldval);//老路由信息
},
// 深度观察监听
deep: true
}
}
三、监听路由变化触发方法
1、
watch: {\'$route\'() {
console.log(\'111\')
}
}
2、
methods:{getPath(){
console.log(1111)
}
},
watch:{
\'$route\':\'getPath\'
}
四、全局监听路由
import Vue from \'vue\'import Router from \'vue-router\'
Vue.use(Router)
const router = new Router({
routes: [
{
path: \'/wechat-user-statistics\',
name: \'wechat-user-statistics\',
component: WechatUserStatistics
},
....
]
})
// 全局监听路由
router.beforeEach((to, from, next) => {
console.log(to);
next();
});
export default router
五、组件中监听路由
beforeRouteEnter (to, from, next) {// 在渲染该组件的对应路由被 confirm 前调用
// 不!能!获取组件实例 `this`
// 因为当钩子执行前,组件实例还没被创建
},
beforeRouteUpdate (to, from, next) {
// 在当前路由改变,但是该组件被复用时调用
// 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
// 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
// 可以访问组件实例 `this`
},
beforeRouteLeave (to, from, next) {
// 导航离开该组件的对应路由时调用
// 可以访问组件实例 `this`
}
转载于:https://blog.csdn.net/Umbrella_Um/article/details/107512056
以上是 Vue 中监听路由信息 的全部内容, 来源链接: utcz.com/z/378086.html