vue3的监听跟vue2有点不一样.
引入watch后直接在setup里面使用, 调用方式是以回调函数的方式呈现.
1.先引入watch
import { ref, defineComponent, watch } from "vue";
2.在setup里面引用
/*监听props*/ watch(props,(newProps, oldProps) => { showModal.value =
newProps.isOpened; editData.value = newProps.editData as IAdminUser; });
watch有2个参数, 第一个参数是监听的数据对象, 可以是单个变量、数组、函数;
第二个参数是数据改变时的回调函数, 有2个参数, 第一个是改变后的数据, 第二个是改变前的数据;
3.监听多个变量
const checkTip: Ref<{name: string; password: string;}> = ref({ name: "",
password: "", }); watch([props, checkTip],([newProps, newCheckTip], [oldProps,
oldCheckTip]) => { console.log(newProps, newCheckTip); });
4.监听对象属性
const checkTip: Ref<{name: string; password: string;}> = ref({ name: "",
password: "", }); watch(() => { checkTip.name },(newName, oldName) => {
console.log(newName); });
在vue2中watch只有一个, 而在vue3中可以存在多个watch.