watch监听vue2与vue3的写法

watch的属性值

handler:回调函数, 即监听到变化时应该执行的函数,可以是单独的函数或带有 immediate 和 deep 属性的对象
    watch: {
      someProperty: function(newVal, oldVal) {
        // 处理逻辑
      }
    }


deep: 其值是true或false, 当属性值是对象或数组时,深度观察会监控对象内部所有层级的变化。
    watch: {
      someObject: {
        handler(newVal, oldVal) {
              // 处理逻辑
        },
        deep: true
      }
    }


immediate: 值是true或false,首次绑定时立即执行回调函数
    watch: {
      someProperty: {
        handler(newVal, oldVal) {
          // 处理逻辑
        },
        immediate: true
      }
    }

vue2写法:

//基本用法
  watch:{
    avatar(navl,oval){
        console.log(navl,'navl');
        console.log(oval,'oval');
    }
  },
//深度监听 
watch: {
    user: {
      handler(nval,oval) {
         console.log(nval,oval);
      },
      deep: true,
    }
  },
//立即执行
watch: {
    user: {
      handler(nval,oval) {
         console.log(nval,oval);
      },
      immediate: true
    }
  },
//观察数组中特定项的变化
  watch: {
    'user[0]': function(newVal, oldVal) {
      console.log('user[0] changed from', oldVal, 'to', newVal);
    }
//监听多个数据源
  watch: {
    property1(newVal, oldVal) {
      console.log('property1 changed from', oldVal, 'to', newVal);
    },
    property2(newVal, oldVal) {
      console.log('property2 changed from', oldVal, 'to', newVal);
    }
  }

vue3写法:

import { watch } from 'vue';
//基本用法
watch(avatar, (newVal, oldVal) => {
   console.log('avatarchanged from', oldVal, 'to', newVal);
});

//深度管察
watch(
   () => user,
   (nval,oval) => {
      console.log(val, oval)
   },
    { deep:true },
)

//立即执行
watch(
   () => user,
   (nval,oval) => {
      console.log(val, oval)
   },
    { immediate: true },
)

//使用回调函数对象
watch(
   someProperty,
    {
       handler(newVal, oldVal) {
        console.log('someProperty changed from', oldVal, 'to', newVal);
     },
       immediate: true,
       deep: true
      }
    );

相关推荐

  1. watch监听vue2vue3写法

    2024-07-21 13:44:01       21 阅读
  2. vue3:中warch监听几种写法

    2024-07-21 13:44:01       47 阅读
  3. vue3watch watchEffect

    2024-07-21 13:44:01       44 阅读
  4. Vue3 watchwatchEffect区别

    2024-07-21 13:44:01       17 阅读
  5. Vue3watch监听五种情况

    2024-07-21 13:44:01       52 阅读
  6. Vue3watch监听使用【超详细】

    2024-07-21 13:44:01       27 阅读
  7. VUEwatch 监听失效

    2024-07-21 13:44:01       53 阅读
  8. vue watch监听

    2024-07-21 13:44:01       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 13:44:01       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 13:44:01       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 13:44:01       45 阅读
  4. Python语言-面向对象

    2024-07-21 13:44:01       55 阅读

热门阅读

  1. 类 WAS_CLIPSeg_Model_Loade

    2024-07-21 13:44:01       20 阅读
  2. powerbulder中的destroy 和 setnull

    2024-07-21 13:44:01       12 阅读
  3. pyquery 的使用

    2024-07-21 13:44:01       18 阅读
  4. 本周你可能错过的 AI 新闻

    2024-07-21 13:44:01       19 阅读
  5. Python如何优雅地在Terminal打印下标

    2024-07-21 13:44:01       21 阅读
  6. linux的shell的date命令的加号“+“的作用

    2024-07-21 13:44:01       20 阅读
  7. 【Python大写字符串中每一个单词的首字母】

    2024-07-21 13:44:01       16 阅读