data() {
return {
arr: [1, 2, 3],
};
},
watch: {
arr(val) {
console.log('watch arr', val);
},
},
created() {
this.arr[0] = 'a'; // 能成功修改arr數組,但不會被watch
this.arr.push(0); // 能成功修改arr數組,并會被watch
console.log(this.arr); // ["a", 2, 3, 0, __ob__: Observer]
}
- 結論:
this.arr[0] = 'a' 這種方式修改在data中注冊過的(帶有__ ob __ 屬性的)數組,是可以修改成功的,只是不能監聽到這個變化。