1.什么是vue生命周期
vue生命周期指实例从开始创建到销毁的过程,在整个生命周期中,它提供了一系列事件,可以让我们在事件触发时注册js方法。
在这些方法中,this指向的是vue实例。
2.vue钩子函数
钩子函数又叫做生命周期函数,它们是vue生命周期中触发的各类事件,大部分分为四个阶段:创建、挂载、更新、销毁,每个阶段对应两个生命周期钩子。
一、创建阶段(create)
对应beforeCreate和created,简单说就是执行了var vue = new Vue()的操作。
beforeCreate会在数据读取前触发,此时读取data会提示undefined。
created会在实例完全创建后被调用,此时data的数据已经写入完成,但是还没有进行dom挂载。
二、挂载阶段(mount)
对应beforeMount和mounted,此时为dom挂载过程。
beforemount触发时,页面内容还是vue的占位符,data中的message没有被挂载到dom节点中,此时可以在渲染前最后一次更改数据,不会触发其他钩子函数,一般可以在此处做初始数据的获取。
mounted在dom挂载之后触发,此时为数据渲染过程,该阶段之后会进入更新阶段。
三、更新阶段(update)
对应beforeUpdate和update,两个方法的差异在于是否对页面dom进行渲染。
对data的数据进行修改完成后会触发beforeUpdate,但是还没有对dom进行渲染。
update就是将数据渲染到页面上。
正常使用中我们会多次处于更新阶段,但是为了释放内存还需要销毁阶段配合。
四、销毁阶段(destory)
对应beforeDestory和destory。
处于beforeDestory时,实例处于销毁状态,但是绑定的各类事件和监听器仍然是可用状态。
destory是在实例销毁后调用,此时所有东西都无法使用,但是页面上的数据保持为最后一次渲染的数据。
3.vue常用属性
el属性:获取vue实例相关的dom元素(①)
data属性:将视图(页面)的数据抽象出来存放到data中
template属性:模板占位符,用来包裹元素,在v-for循环过程中,template不会渲染到页面上,只会渲染包裹元素(②③)
methods属性:放置前端业务逻辑,js方法一般都放置在methods中
render属性:根据配置在页面上显示指定内容,配合createElement使用(④)
computed属性:根据依赖关系进行缓存计算,当依赖发生变化时才会更新(⑤)
watch属性:watch:function(new, old){},监听data中数据的变化,第一个参数返回新值,第二个参数返回旧值。
4.内容参考
仅供自学使用
标签:生命周期,渲染,钩子,dom,vue,data From: https://www.cnblogs.com/SNorth6040/p/16942184.html