VUE项目中,可能需要用到监听路由变化的场景,例如:在Header组件中,需要根据当前的路由,来动态改成Header中的图片或者其他内容。
我们知道vue中使用watch来监听data内容的变化,要如何监听route的变化呢?代码如下
watch: {
$route (newRoute) {
var path = newRoute.path;
if(path === '/login') {
this.backgroundImg = require('../assets/home_bg2.jpg');
} else {
this.backgroundImg = require('../assets/home_bg.jpg');
}
console.log('newRoute changed',newRoute)
}
}
示例中,通过监听$route,获得newRoute的path,来实现动态修改data中的backgroundImg背景图片。
文章评论