案例
watch: { $route: { handler: function(route) { console.log(route); const query = route.query if (query) { this.redirect = query.redirect this.otherQuery = this.getOtherQuery(query) } },
//deep:
true
immediate: true } },
首先 watch是 vue内部提供的一个用于侦听功能的更通用的方法,其用来响应数据的变化,通过特定的数据变化驱动一些操作
$route 是当前路由信息对象
handler:是一个回调函数。即监听到变化时应该执行的函数。里面有两个参数 一个 是newValue变化后新的值 oldValue变化前新的值
watch 和$route就是来监听路由的动态变化的
deep:其值是true或false;确认是否深入监听。(一般监听时是不能监听到对象属性值的变化的,数组的值变化可以听到。) 可以监测多层级结构的数据
immediate:其值是true或false; 初始化时立即执handler的函数。