【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);

结果图|红框为新值

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值