0

比如:
a0 = 1

a0 = 2

7个回答

1

可以加个deep试试,我检测对象层级比较深的时候都是用的这个。

config: {
    handler(curVal, oldValue) {

    },
    deep: true
}
1

建议转换为对象嵌套数组的形式,因为vue是利用Object.definedPrototy来监听数据变化的,但是数组没有key值并不适用于这个方法

0

vue无法检测二维数组。。不过你按照vue官方提供的方法去写
可以更新

Vue.set( target, key, value )

https://cn.vuejs.org/v2/api/#...

0

vue无法检测二维数组,可以采用整体重新赋值的思路

let oldArr = this.yourArr;
let newArr = oldArr.slice(0); //克隆数组
newArr[0] = newValue; //改变
this.yourArr = newArr; //整体重新赋值
0

用 watch 应该就行吧,你可以看下,连 depp: true 都不用

<template>
  <div class="activeManage">
    <input type="text" v-model="arr[0][0]">
  </div>
</template>

<script>
export default {
  data() {
    return {
      arr: [[1, 2, 3, 4]]
    }
  },
  watch: {
    arr() {
      console.log('Change');
    }
  }
}
</script>
0

楼主写的是二维数组?我怎么看不出来呀。如果真的是二维数组,楼上的方法是最简单的方式,可参考,这个应该很容易想到吧

0

从设计角度只能重新this.$set

撰写答案