问题
- 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);