【Vue】watch监听复杂数据,新值与旧值一样

问题

  • watch监听复杂数据,例如数组,旧值与新值一样

解决方案

  • 监听回调里返回新数组,新、旧数组地址改变,得到的值也就不一样,例↓
    • ()=>[...data]

test.js

// 数据
const musicList = ref([
    { id: '540000200805012335' },
    { id: '140000201508105754' } 
])

// 监听 | 重点 | 回调里返回新数组,数组地址改变,新值旧旧值就不会一样
watch(()=>[...musicList.value], (n, o) => {
    console.log(n, o);
}, {
    deep: true
})

// 1秒后删除某个数据
setTimeout(() => {
    musicList.value.shift() 
}, 1000);

结果图|红框为新值

在这里插入图片描述

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-05 07:56:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-05 07:56:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-05 07:56:01       87 阅读
  4. Python语言-面向对象

    2024-04-05 07:56:01       96 阅读

热门阅读

  1. node.js常用命令

    2024-04-05 07:56:01       36 阅读
  2. Visual Studio(VS) 搭建 QT 开发环境

    2024-04-05 07:56:01       35 阅读
  3. 【C++】List的模拟实现

    2024-04-05 07:56:01       28 阅读
  4. SPI456456

    2024-04-05 07:56:01       38 阅读
  5. 什么是stable diffusion?

    2024-04-05 07:56:01       38 阅读
  6. 初识CSS

    初识CSS

    2024-04-05 07:56:01      27 阅读
  7. 设计模式-抽象工厂模式

    2024-04-05 07:56:01       40 阅读
  8. 设计模式:工厂模式和抽象工厂模式的区别

    2024-04-05 07:56:01       33 阅读
  9. 蓝桥杯备考随手记: practise05

    2024-04-05 07:56:01       36 阅读