vue数组检测更新问题

由于 JavaScript 的限制, Vue 不能检测以下变动的数组:

  • 当你利用索引直接设置一个项时,例如: vm.items[indexOfItem] = newValue
  • 当你修改数组的长度时,例如: vm.items.length = newLength

 

方法一:如官方文档所示

 

  

用法:完成赋值之后,使用上面的那些方法即可,比如:

this.checkedMenu[0]=5;//赋值操作
this.checkedMenu.sort();//使用变异方法

 

方法二:使用Vue.Set

 

//Vue.set(实例数组,要修改元素的下标,新值)
//假如data中有一个数组arr
data(){
   return{
        arr:[1,2]
    }
}

//将数组中下标为0的值修改成3
Vue.set(this.arr,0,3)

 

posted @ 2018-01-04 16:57  兔子先生i  阅读(661)  评论(0编辑  收藏  举报