watch之在特殊时间之后才开始监听某变量

发布时间 2023-10-30 19:34:41作者: 秃头大宝贝

前提:watch监听属性所执行的函数会在一开始就执行,immediate:true时会执行两次,就算是immediate:false也是执行一次,而我想要初始时不执行,就需要使用$watch这个方法了
三个参数:

  1. 监听对象
  2. 回调函数
  3. 配置属性:deep,immediate等(对象形式)
  • 监听顶层的属性,比如this.xxx
//fun为属性变化时的回调函数,等于handler
this.$watch('xxx',fun)
  • 监听对象中的属性,比如this.xxx.yyy
//两个入参都是函数
this.$watch(()=>this.xxx.yyy,fun)
  • 使用深监听
//属性以对象形式传入
this.$watch(()=>this.xxx.yyy,fun,{deep:true})