Vue如何动态改变二维数组的值

data() {
  return {
    map: [
      [0, 0, 0, 0],
      [0, 0, 0, 0],
      [0, 0, 0, 0],
      [0, 0, 0, 0]
    ]
  }
}

我在data里定义了如上的二维数组,并且在页面中显示其中一个数值

<iCol span="6" class="border font-digiface">{{ map[3][3] === 0 ? '' : map[3][3] }}</iCol>

但是当我去直接改变二维数组其中一个值时,并没有做到数据驱动改变页面显示值。
Vue.set中可以改变data根级属性下的内容,如Vue.set(this.list, 0, 3);
但是二维数组的数组改变我却做不到了。
如何能修改二维数组中的某一个值,保证页面能监听到数据的变化,并改变数值呢?

阅读 22.8k
4 个回答

可以这样写

setMapValue(index, jndex, value) {
    this.$set(this.map[index], jndex, value)
}

用splice这个函数是可以监听到的

新手上路,请多包涵

我是真滴解决了这个问题!!!!!!!!!!

let temp=this.map[i]
temp[j]=要改的值
this.$set(this.map,i,temp)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题