
vue watch 如何监听 json 中数组长度的变化?
给定一个包含对象数组的 json(如图所示),我们希望监听数据的更改,并在所有对象中的 age 数组长度都为 0 时返回 true,否则返回 false。这是通过 vue watch 实现的,还是可以通过其他方法?
我们可以通过编写一个 computed 属性来计算所有项的 age 属性长度是否都为 0。无需使用 watch:
const data = ref([])
// 計算所有age的長度是否為0,並且返回true或false
const allAgeEmpty = computed(() =youjiankuohaophpcn data.value.every(i =youjiankuohaophpcn !i.age.length))
// 範例資料
setTimeout(() =youjiankuohaophpcn {
data.value = [
{ "id": 1, "name": "Alice", age: [{ id: 4, status: 0 },{ id: 4, status: 1 }] },
{ "id": 2, "name": "Bob", age: [{ id: 4, status: 1 }] },
{ "id": 3, "name": "Charlie", age: [{ id: 4, status: 1 }] }
]
}, 1000)










