VUE-解决无法监听数组、对象的变化

一、vue监听数组的变化:

1、vue能够监听数组变化的场景

【1】通过赋值的形式改变正在被监听的数组;

【2】通过splice(index,num,val)的形式改变正在被监听的数组;

【3】通过数组的push的形式改变正在被监听的数组;

2、vue无法监听的数组变化的场景

【1】通过数组索引改变数组元素的值;

【2】改变数组的长度;

3、VUE解决无法监听数组变化的方法

【1】this.$set(arr, index, newVal);

【2】通过splice(index,num,val)

【3】使用临时变量作为中转,重新赋值数组;

二、vue监听对象的变化

1、vue能够监听到对象变化的场景

【1】通过直接赋值的场景。eg:watchObj = {name:"zyk"}

2、vue无法监听到对象变化的场景

【1】对象的增加、删除、修改无法被vue监听到

3、VUE解决无法监听对象变化的方法

【1】使用 this.$set(object, key, value)(vue 无法监听 this.set 修改原有属性)

【2】使用Object.assign(),直接赋值的原理;(推荐使用)

你可能感兴趣的:(Vue,watch,vue,对象,数组,监听,无法监听数组对象变化)