vue3-(watchEffect,高级帧听器)

1.watchEffect:会自动调用一次,具有惰性;

<template>
  <div>{{ obj.name }}</div>
  <div>{{ obj.age }}</div>
</template>

<script setup lang="ts">
import { ref, reactive, watchEffect } from 'vue';
let obj = reactive({
  name: '张三',
  age: 18
});
let msg = ref(100);
//当变量修改时就会触发:watchEffect
//watchEffect:返回一个函数,调用时会停止更新
const stop = watchEffect(
  (oninvalidate) => {
    console.log('msg:' + msg.value);
    //在watchEffect调用之前调用oninvalidate
    oninvalidate(() => {
      console.log('oninvalidate');
    });
    console.log('msg:' + msg.value);
  },
  {
    flush: 'post'
  }
);
//停止调用watchEffect
stop();

setInterval(() => {
  msg.value += 10;
}, 1000);

obj.age++;
</script>

 

posted @ 2022-07-15 15:38  银河游鱼  阅读(81)  评论(0编辑  收藏  举报