如果是数组
vue只能监听数组的push,pop,shift,unshift等方法,使用watch监听数组的话
你进行了 this.arr[1] = xxx
这样是监听不到的
当你把一个普通的 JavaScript 对象传入 Vue 实例作为data
选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty把这些属性全部转为getter/setter
Vue 不允许在已经创建的实例上动态添加新的根级响应式属性 (root-level reactive property)。然而它可以使用
Vue.$set(object, key, value)
方法将响应属性添加到嵌套的对象上:
您还可以使用 vm.$set
实例方法,这也是全局 Vue.$set
方法的别名:
Vue.$set(this.arr, 1, xxx)
这样就可以了