vue是怎样监视数据改变的(原理):
- 就是把我们代码中写的data,通过一定的转换,成为vm中的vm_data
- 这个转换就是,给每个元素新增加了get,set方法
- 其中set方法,还有重新加载的功能(响应式),就是一旦被调用了set(元素被改变),就重新加载页面
vue监听的特点(好处):
1. 他可以层层深入的,找到每个对象中里面所有对象,进行处理(set),就是对象里面的对象,都能给你找出来【原理:递归】
vue监听的注意事项(坏处):
1.监听对象
(1). 倘若要给对象新增加一个属性,直接:对象名.新属性=值,是不行的, 后面添加来的数据,都不会被vue给处理,不会是响应式 (2).Vue.set();方法可以新增添响应式属性 Vue.set(this.students[1],“sex”,“男”) (3)set方法的使用注意: 第一个参数:你需要增加的对象,注意不能是跟目录,就是直属于data的 第二个参数:你需要的属性,注意要用字符串形式,用引号包裹 第三个参数:属性值
2.监听数组
(1).在数组中,没有属于数组的get,set,所以不能通过直接下标改变数组的值来实现响应式 (2).但是vue重写了数组中的pop(),shift(),unshift(),splice(),sort(),reverse() 这些方法改变数组,就可以实现响应式【重写新增了响应式】
|