当前位置: 首页 > 知识库问答 >
问题:

javascript - vue watch如何如监听一个json的变化来改变状态?

宗安翔
2024-06-06
const data = [  { "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 }] }];

如何监听data里面的所有age的长度是否为0,所有age的长度为0则返回true,否则返回false

共有1个答案

韩良策
2024-06-06

写一个 computed 来计算所有项的 age 属性长度是否都为 0 呗,我觉得不需要用 watch

不知道你怎么操作的 data,因为你描述的是 json 所以我操作整个data覆盖了。

const data = ref([])// data里面的所有age的长度是否为0,所有age的长度为0则返回true,否则返回falseconst allAgeEmpty = computed(() => data.value.every(i => !i.age.length))// 模拟数据setTimeout(() => {  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)

Vue SFC Playground

 类似资料:
  • vue(js)如何监听一个json对象是否发生了改变? 判断条件: 1、只比较初值和最终值,如改动后再改回去则相当于未改变 2、忽略key的顺序,如{"a":1,"b":2},{"b":2,"a":1} 相当于未发生改变

  • 本文向大家介绍React中如何监听state的变化?相关面试题,主要包含被问及React中如何监听state的变化?时的应答技巧和注意事项,需要的朋友参考一下 16.x 之前使用componentWillReveiveProps componentWillReceiveProps (nextProps){ if(this.props.visible !== nextProps.visible){

  • 本文向大家介绍js如何监听对象属性的改变?相关面试题,主要包含被问及js如何监听对象属性的改变?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 我们假设这里有一个user对象, (1)在ES5中可以通过Object.defineProperty来实现已有属性的监听 缺点:如果id不在user对象中,则不能监听id的变化 (2)在ES6中可以通过Proxy来实现 这样即使有属性在user中不

  • 本文向大家介绍Android 实时监测(监听)网络连接状态变化,包括了Android 实时监测(监听)网络连接状态变化的使用技巧和注意事项,需要的朋友参考一下 看了网上的很多,都不是自己想要的。所以自己就参考着写了一个。 实现这个的方法很多,我是想的这种,如果哪有不足,有bug的地方希望大家指出,共同进步。。。。 先简单说一下思路:网络变化时系统会发出广播。所以我们监听这个广播,利用接口回调通知a

  • 我有一个文件 这个类是一个独立的文件, 这个类被多个其他文件所引用 如何提前hack这个类 让他每次实例化的时候回调给我, 让我知道他实例化了从而运行一些实例化的代码