beforeCreate :数据还没有监听,没有绑定到vue对象实例,同时也没有挂载对象
created :数据已经绑定到了对象实例,但是还没有挂载对象
beforeMount: 模板已经编译好了,根据数据和模板已经生成了对应的元素对象,将数据对象关联到了对象的 el属性是一个HTMLElement对象,也就是这个阶段,vue实例通过原生的createElement等方法来创建这个html片段,准备注入到我们vue实例指明的el属性所对应的挂载点
mounted:将(el).html(el的元素是一致的。在此之后,我们能够用方法来获取到el元素下的dom对象,并进 行各种操作
当我们的data发生改变时,会调用beforeUpdate和updated方法
vm.test = "hello vue"
数据变化更新前
data 数据: hello vue
挂载的对象:
<div id = "container">
<p> hello vue </p>
</div>
真实的dom结构: <p>hello world </p>
数据变化更新后
data数据:hello vue
挂在的对象:
<div id = "container">
<p>hello vue</p>
</div>
真实的dom结构: <p>hello vue</p>
beforeUpdate :数据更新到dom之前,我们可以看到$el对象已经修改,但是我们页面上dom的数据还没有发生改变
updated: dom结构会通过虚拟dom的原则,找到需要更新页面dom结构的最小路径,将改变更新到dom上面,完成更新
实例的销毁
vm.$destroy()
vue实例销毁前
data数据: hello vue
真实的dom结构 <p>hello vue</p>
vue实例销毁后
data数据: hello vue
真实的dom结构 <p>hello vue</p>
- beforeDestroy,destroed :实例的销毁,vue实例还是存在的,只是解绑了事件的监听还有watcher对象数据与view的绑定,即数据驱动