数据监测
Vue监视数据原理
1. vue 会监视data中所有层次的数据。
2.如何监测对象中的数据?
通过setter实现监视,且要在创建Vue(new Vue)时就传入要监测的数据。
(1).对象中后追加的属性,Vue默认不做响应式处理;
(2).如需给后添加的属性做响应式,请使用如下API:
Vue . set (target, propertyName/index, value)
Vm . $set (target, propertyName/ index, value)
3.如何监测数组中的数据?
通过包裹数组更新元素的方法实现,本质就是做了两件事:
(1).调用原生对应的方法对数组进行更新。
(2).重新解析模板,进而更新页面。
4.在Vue修改数组中的某个元素一定要用如下方法:
1.使用这些API:push()、pop()、 shift()、 unshift()、 splice()、 sort()、 reverse()
2.Vue.set()或vm. $set( )
只有这些方法可以实现动态解析!
特别注意: Vue.set() 和vm.$set() 不能给vm 或vm的根数据对象(data)添加属性! ! !
表单
- 若: <input type="text"/>, 则v-model收 集的是value值,用户输入的就是value值。
- 若: <input type="radio"/>, 则v-model收集的是value值,且 要给标签配置value值。
- 若: <input type= ”checkbox" />
1.没有配置input的value属性,那么收集的就是checked (勾选or未勾选,是布尔值)
2.配置input的value属性:
(1)v - model的初始值是非数组,那么收集的就是checked (勾选or未勾选,是布尔值)
(2)v- model的初始值是数组,那么收集的的就是value组成的数组