Hi FE !
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
  • vue3 中 watch 新旧值一样

vue3 中 watch 新旧值一样

vue 在 watch 监听时:在变异 (不是替换) 对象或数组时,旧值将与新值相同,因为它们的引用指向同一个对象/数组。Vue 不会保留变异之前值的副本。

方式一

watch(
  () => JSON.parse(JSON.stringify(arr.value)),
  (newVal, oldVal) => {
    console.log(newVal, oldVal);
  },
  {
    deep: true,
  }
);

方式 2

state = reactive({ item: 1 });
let newState = computed(() => {
  return JSON.stringify(state);
});
watch(newState, (newVal, oldVal) => {
  console.log(JSON.parse(oldVal), "oldVal");
  console.log(JSON.parse(newVal), "newVal");
});
state.item = 5;
Edit this page
最近更新: 2025/6/27 02:24
Contributors: qdleader
qdleader
本站总访问量 129823次 | 本站访客数 12人