new Vue()实例化一个vue实例,然后init初始化event 和 lifecycle, 其实这个过程中分别调用了3个初始化函数(initLifecycle(), initEvents(), initRender()),分别初始化了生命周期,事件以及定义createElement函数,初始化生命周期时,定义了一些属性,比如表示当前状态生命周期状态得_isMounted ,_isDestroyed ,_isBeingDestroyed,表示keep-alive中组件状态的_inactive,而初始化event时,实际上就是定义了
o
n
c
e
、
once、
once、off、
e
m
i
t
、
emit、
emit、on几个函数。而createElement函数是在初始化render时定义的(调用了initRender函数)
然后再执行updated,所以updated里面也可以操作dom,并拿到最新更新后的dom。不过这里我要插一句话了,mouted和updated的执行,并不会等待所有子组件都被挂载完成后再执行,所以如果你希望所有视图都更新完毕后再做些什么事情,那么你最好在mouted或者updated中加一个
n
e
x
t
T
i
c
k
(
)
,
然
后
把
要
做
的
事
情
放
在
nextTick(),然后把要做的事情放在
nextTick(),然后把要做的事情放在netTick()中去做(至于为什么,以后讲到$nextTick再说吧)
spring
Spring 框架可以说是Java 世界最为成功的框架,在企业实际应用中,大部分的企业架构都基于Spring 框架。它的成功来自于理念,而不是技术,它最为核心的理念是IoC (控制反转)和AOP (面向切面…
本章概要
虚拟DOMrender()函数
Vue.js 之所以执行性能高,一个很重要的原因就是它的虚拟 DOM 机制。
12.1 虚拟 DOM
浏览器在解析 HTML 文档时,会将文档中的元素、注释、文本等标记按照它们的层级关系组织成一棵树,这就是熟知的 DOM 树。元…