Vue3 watch和watchEffect的使用

watch 和 watchEffect 都是在vue3中用来监听数据的或者某个值的变化时使用的,但使用方法都有所不同和场景都有所不同,这边带着大家体验一遍

watch

普通数据类型watch 监听

<script setup lang="ts">
import {ref, watch,watchEffect} from "vue";
let num = ref(20);

// watch(要监听的响应式数据,(新值,旧值)=>{})
// 要写需要监听的数据
 watch(num, (newVal, oldVal) => {
   console.log(newVal, oldVal);
})

</script>

引用数据类型watch 监听 ,写成两个函数的形式

<script setup lang="ts">
import {reactive,ref,watch, watchEffect} from "vue";
const state = reactive({
  age: 30,
});

//watch(要监听的响应式数据,(新值,旧值)=>{})
 watch(() => state.age, (newVal, oldVal) => {
   console.log(newVal, oldVal);
 })

</script>

watchEffect

watchEffect 只要是写在里面的数据都会立即监听,如有数据需要做监听判断建议写在这里

<script setup lang="ts">
import {reactive,ref, watch, watchEffect,} from "vue";
let num = ref(20);
const state = reactive({
  age: 30,
});

// 在页面刷新的时候立即监听
watchEffect(() => {
  // 凡是写在这里的数据,只要发生变化,都会触发这里的代码
  console.log("watchEffect", state.age);
});
</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值