// v-on 绑定事件 缩写为@
// v-if 条件渲染
// v-for 便利循环
// v-bind 绑定属性
// v-model 数据双向绑定 (view–model)
1 动态切换class或style时,数组使用push等操作,对象采用Vue.set(target,index,value)方法添加数据,类似Arr.splice(index,1,value)
2 v-else ,配合v-if使用 ,对dom机构进行操作,v-if / v-else ==> 使用场景如购物车,用来判断购物车是否又数据,如果有就显示有的数据,如果没有就显示没有数据显示的样子。
3 key值相当于身份证,做唯一的表示,在虚拟dom中作为第一参照物,key值相同,比较内容,内容相同可以复用,例如:v-for的时候会用到key。
4 虚拟dom 虚拟dom源自react Virtual DOM 把所有的真实dom(如:div,p,span等)储存在内存(js)中,这类数据就叫虚拟dom, (ps:虚拟dom是我们人为假想出来的)。
储存在js内存中,用来描绘真实dom的真实信息,我们把这些数据当作虚拟dom。
虚拟dom的存在就是为了提升渲染性能,例如:
需要执行1000个div,正常的innerHTML会插入1000个div,需要执行1000次;虚拟dom会将标签一次性读取到内存中(形成虚拟dom),执行渲染函数瞬间把1000个虚拟dom绘制成真实dom。
vue只修改数据不会修改dom , 当你修改数据 vue会去找到你修改这个数据绑定的key,比较key,快速的检索到你修改的虚拟dom对象,从而修改修改真实的dom。
Diff 算法 找到变更的虚拟dom,从而修改真实dom
5 $event 是vue规定的,在事件中作为参数,
e.target.value
e.clientX 这两个都会用到$event
6 事件修饰符 @click.prevent阻止默认事件, @click.stop阻止事件冒泡
7 v-model (语法糖)
set / get
v-model 主要用于输入框
object.definedProperty 进行数据劫持