vue会循环data中的数据(数据劫持) 依次的增加getter和setter

1
2
3
4
5
6
let vm = new Vue({
el:'#content',
data:{
a:{}
}
})

但是这时候我想添加一个school方法,发现没有产生getter和setter

方法一 $set

使用变量时 先要初始化,否则新加的属性不会导致页面刷新

1
vm.$set(vm.a,"school",'1')// 此方法可以给对象添加响应式的变化

方法二 替换原对象

1
vm.a = {"school":"heihei",age:8};

数组问题

去改变数组中的某一项监控不到的,也不能改变数组的长度方法

1
2
3
4
5
6
let vm = new Vue({
el:'#content',
data:{
a:[1,2,3,4,5,6]
}
})

错误方法

1
2
vm.a[0] =100
vm.a.length -=2

变异方法:pop push shift unshit sort reserve splice

1
vm.a = vm.a.map(item=>item*3)