事件指令解析
1.从指令中取出事件名
2.根据指令的值从methods中得到对应的事件处理函数对象
3.给当前元素节点绑定指定的事件名和回调函数的dom事件监听(node.addEventListener(eventType, fn.bind(vm), false);)
4.指令解析完进行移除此指令
一般指令解析
1.得到指令名和指令值
2.从data中获取到对应的值
3.根据指令名确定需要操作元素节点的什么属性
v-text----textContent
v-html-----innerHtml
4.将得到的表达式的值设置到对应的属性上
5.移除元素的指令属性
数据绑定
一旦更新了data中某个属性的值,所有界面上直接使用或者间接使用了此属性的节点都会更新
数据劫持
基本思想:通过definProperty()来监视data中所有属性数据的变化,一旦发生变化就去更新界面
比如this.xxx=3,最先vm先知道,通过vm中的set改变data中xxx的值,set知道了,然后更新界面