vue监听不到数组更新

1
2
3
toogleArrowHandler(index) {
this.isArrowOpen[index] = !this.isArrowOpen[index];
}

在vue中像上面一样直接改变数组的值不是响应式的,vue监听不到数组的变化

原因:

vue中数组直接给单个挂载的时候不存在的某项赋值是监听不到的,需要整体给数组赋值或者数据挂载的时候就存在该项才是响应式的(对象也是同样的道理)

解决办法
  • 需要整体给数组赋值
  • 数据挂载的时候就存在该项
  • 使用splice(旧元素index,1,新元素),先删后加,vue会监听splice

热评文章