首页 > 试题广场 >

Vue2 数组对象的响应式“坑”与解决办法。

[问答题]
Vue2 数组/对象的响应式“坑”与解决办法。
Vue2响应式基于Object.defineProperty 只能监听到初始化的对象属性或数组。 不能监听数组索引/长度变化,对象新增/删除属性 这里比如: 通过索引直接修改数组元素,直接修改数组长度等。不会去触发响应式。 对于数组可以用shift,push,spice。unshift等vue提供的方法解决这些问题。也可以用vue专门提供的this.$set进行处理对象数组的操作从而达成响应式。 还有一种办法就是将原数组替换新数组,将原对象替换为新对象也可以触发响应式更新。
发表于 2025-12-07 12:32:52 回复(0)
1. 新增/删除对象属性不是响应式的(Vue.set Vue.delete) 2. 根据数组索引修改元素不是响应式的。(Vue.set、数组的变异方法)
发表于 2025-09-25 13:52:05 回复(0)