美文网首页VUE学习
Vue学习----watch方法

Vue学习----watch方法

作者: 扮猪老虎吃 | 来源:发表于2020-10-28 08:30 被阅读0次

watch方法:

   响应数据的变化

v-model绑定:

   只能绑定固定位置的数据,不能动态绑定data底层某单独定义的数据。

举例说明

 data() {
    return {
      a: 1,
      msg: "Welcome to Your Vue.js App",
      person: {
        name: "www",
        age: 22
      }
    };
  }

普通监听

  1. 监听某一属性值的变化,发生改变时,执行函数。
watch: {
    a: (val, oldval) {
       console.log("a==" + val, oldval);
    }
}
  1. 监听的数据后面直接加字符串形式的方法名。当每次监听到a值发生改变时,执行方法。
  watch: {
    a: "changeAStr",
  },
  methods: {
    changeA() {
      this.a++;
    },
    changeAStr(val, oldval) {
      console.log(`val:${val},oldval:${oldval}`);
    }
 }

immediate和handler

  1. immediate
    上述普通监听中,watch方法有一个特点,就是当值第一次绑定的时候,不会执行监听函数,只有当值发生改变时才会执行。如果项目中需要在最初绑定值的时候也执行函数,需要设置immediate属性为true
 watch: {
    a: {
      handler(val, oldval) {
        console.log("a==" + val, oldval);
      },
      immediate: true
    }
 }
  1. deep (非数组)
    为了发现对象内部值的变化,在选项参数中指定deep属性值为true,进行深度监听。
    当对象属性较多时,每个属性值的变化都会执行handler函数。如果只需要监听对象中的一个属性值,则可以:使用字符串的形式监听对象属性。
 watch: {
    "person.name": {
      handler(val, oldval) {
        console.log(`val:${val},oldval:${oldval}`);
      },
      deep: true,
      immediate: true
    }
  }

相关文章

网友评论

    本文标题:Vue学习----watch方法

    本文链接:https://www.haomeiwen.com/subject/wutzmktx.html