vue3 ref和reactive使用watch属性的方法和区别
在Vue 3中,您可以使用watch函数和watch选项来监视ref和reactive创建的响应式数据的变化。下面是它们的使用方法和区别:
使用方法:
使用ref和watch:
 
import { ref, watch } from 'vue';
const count = ref(0);
watch(count, (newVal, oldVal) => {
  console.log(`count 从 ${oldVal} 变为 ${newVal}`);
});使用reactive和watch:
 
import { reactive, watch } from 'vue';
const state = reactive({
  count: 0,
});
watch(
  () => state.count,
  (newVal, oldVal) => {
    console.log(`count 从 ${oldVal} 变为 ${newVal}`);
  }
);区别:
-  对单个值的监视: - ref用于创建单个基本数据类型的响应式数据,可以直接通过- watch来监视其变化。
- reactive用于创建包含多个属性的响应式对象,需要通过- () => state.count这样的方式来指定要监视的属性。
 
-  访问值的方式: - 在ref中,您需要使用.value来访问或修改其值。
- 在reactive中,您可以直接访问和修改其属性。
 
- 在
-  适用场景: - ref适合用于创建单个基本数据类型的响应式数据,例如数字、字符串等。
- reactive适合用于创建包含多个属性的响应式对象。
 
总之,无论是ref还是reactive创建的数据,都可以使用watch来监视其变化,并执行相应的操作。只是在使用方法和适用场景上有一些区别。
