Vue官方定义:Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及现代化的工具链各种支持类库结合使用时,Vue 也完全能够为复杂的单页应用提供驱动。
Vue的生命周期:就是Vue从创建到销毁的整个过程,可以分为四个阶段、八种状态。
四个阶段:
1.Vue的初始化阶段:beforeCreate(Vue初始化之前调用,此时还没有data和methods属性)和created(Vue初始化之后调用,在此之前会初始化数据监测、数据代理。Vue实例data和methods属性,可以访问但是此时还没有编译模板)
***在初始化和挂载之间Vue开始解析模板,生成虚拟的DOM(内存中),但是页面还不能显示解析好的内容(判断有没有el,进行创建或者使用template)
2.Vue的实例挂载阶段:beforeMount(挂载前,模板编译完成,但是此时el还没有挂载,页面显示的是未经Vue编译的DOM结构,但是data和methods可见,所有对DOM的操作无效)和{在两个钩子之间将内存中的虚拟DOM转为真实DOM插入页面} mounted(挂载完成,此时el挂载完成,模板加载完成,页面显示的是经Vue编译的DOM结构,此时对DOM操作奏效(不建议),此时初始化过程结束,在此进行开启定时器,发送网络请求(操作后台data的时候)、订阅消息、开启自定义事件等操作)
3.Vue的数据更新阶段:beforeUpdate(数据更新是运行,此时的数据已经是最新数据,但是界面还是旧数据)和{在两个钩子之间根据新数据生成新的虚拟DOM,与旧的虚拟DOM进行对比最终完成页面更新} Update(数据更新完成,此时data数据和界面数据都是最新数据。并且完成页面的渲染)
4.Vue的销毁阶段:beforeDestroy(销毁前收尾工作,取消订阅消息、关闭定时器、解绑自定义事件)和destroyed(实例销毁完成,此时与视图已经解绑)