vue watch 不生效的解决方法

如果是数组

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)
这样就可以了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容