deep: true, immediate: true

@Watch('$route.query', { deep: true, immediate: true }) 第一次跳转至消息中心的页面,该监听函数就会触发。

主要是利用watch属性的immediate属性,watch有一个特点是,最初的绑定是不会执行的,要等到监听的属性发生变化的时候才会执行监听,因此,如果我们想要第一次执行最初的绑定,就添加这个immediate属性,若为true,表示在watch在声明的时候就立即去执行handler方法。

顺便再记录一个知识,watch的deep属性,这个属性会对对象的所有的属性添加一个监听器,但是会存在性能开销的问题,就是对象的任何一个属性修改都会去执行handler。watch属性默认是对对象的引用进行监听的。