Vue3中watch监听

137 阅读1分钟

通过const demoData = ref({ dataType: "month" })定义的数据。为 Ref 对象的结构,在使用watch监听时,如果想变为为纯数据对象需要进行转化,方法为:

1. 使用 .value 获取 Ref 的实际值
console.log('demoData ➤', searchData.value) // 获取Ref包装的实际值
2. 使用解构赋值
console.log('demoData ➤', {...searchData.value}) // 展开为普通对象
watch(
  () => demoData.value.dataType,
  (newValue, oldValue) => {
    demoData.value.data = dayjs().format("YYYY-MM-DD");
    // 输出的是 Ref 对象的结构(包含 _v_isRef、_rawValue 等内部属性)
    console.log(demoData, demoData);
    // 输出的是纯数据结构
    console.log(demoData, { ...demoData.value });
  }
);