VUE中watch用法

2021-06-23 18:06:00 浏览数 (2)

一、 watch是什么?

监测 Vue 实例变化的一个表达式或方法。回调函数得到的参数为新值和旧值,用一个函数取代。

简洁的说:watch的作用可以监控一个值的变换,并调用因为变化需要执行的方法。可以通过watch动态改变关联的状态。

二、watch的(三种)应用

1、监听一个数据变化

代码语言:javascript复制
<input type="text" v-model="val"/>
代码语言:javascript复制
 data(){
   return{
    val:'2'
   }
  },
  watch: {
        val: {
          handler(newVal, objVal) {
          console.log(11);
         },
        }
     }

2、当监测为对象的时候(非数组情况),deep = true (对象内部的属性监听,也叫深度监听),包含handler方法和immediate(进入组件的时候,第一次并不会执行watch,是因为immediate 默认 false,当 immediate = true 的时候,进入组件会立即执行。并且可以监测到组件传递数据)

代码语言:javascript复制
<input type="text" v-model="obj.name"></p>
代码语言:javascript复制
watch: {
    'obj.name': {
      handler(newName, oldName) {
      // ...
      },
      deep: true,
      immediate: true
    }
  }

0 人点赞