一、MVVM
即model-view-viewModel
model:数据模型
view:视图层
viewModel:数据双向绑定(监听数据改变控制视图层),将mode和view关联起来
二、生命周期的理解?
生命周期的过程为:创建(beforeCreate)、数据初始化(created)、实例挂载(beforeMount,mounted)、组件更新(beforeUpdate,updated)、销毁(beforeDestroy、destroyed)
beforeCreate:DOM未渲染,data数据还检测不到,计算属性、方法、监听事件还未绑定
created:DOM仍未渲染,data数据可以检测到,计算属性、方法、监听事件已绑定
beforeMount:DOM仍未渲染,实例还未挂载
mounted:DOM渲染完成,实例完成挂载
beforeUpdate,updated:组件更新前后,不要在此生命周期内跟新数据,会成死循环
beforeDestroy:实例仍存在,一般用于移除监听、定时器
destroyed:实例已不存在已销毁,DOM在mounted里完成渲染
页面第一次加载会触发前4个钩子
三、数据双向绑定底层原理
即data改变更新视图层(object.defineProperty的set方法)
视图改变data更新(事件监听,例:input的change改变)