vue更改数组的值视图未重新渲染

场景

今天根据需求做功能的时候,直接赋值修改了数组中某一项的对象里的一个属性,视图没有重新渲染,解决办法如下。

this.$set('数组', '修改的项的索引', '修改项')
// 另一种写法
import Vue from 'vue'
Vue.set('数组', '修改的项的索引', '修改项')

总结

对于数组为什么视图没有更新呢?因为Vue 不能检测以下数组的变动:
1.当你利用索引直接设置一个数组项时,例如:vm.items[indexOfItem] = newValue
2.当你修改数组的长度时,例如:vm.items.length = newLength
所以可使用vue的set方法来触发状态更新。

你可能感兴趣的:(vue,vue)