vue的生命周期

生命周期

概念

从出生到死亡,从创建到销毁的一个过程
在整个实例创建到销毁的过程种有很多函数的出现,那么我们管这些函数称为生命周期函数
​
整个生命周期中都有哪些函数?
八大生命周期函数
beforeCreate 创建之前
created 创建完成
beforeMount 挂载之前
mounted 挂载
beforeUpdate 更新之前
updated 更新
beforeDestroy 销毁之前
destroyed 销毁

页面一加载触发哪些生命周期函数

触发了前四个生命周期函数
beforeCreate 创建之前
created 创建完成
beforeMount 挂载之前
mounted 挂载

如何理解生命周期图示/你怎么理解生命周期

创建一个vue实例,在创建之前是一个空的vue对象,只有默认事件个生命周期函数
生命周期在创建之前,没有el元素,没有data属性。
当生命周期执行到创建的时候,依然没有el元素,但是这时候出现了data属性。
生命周期执行到挂载之前,首先我们要判断是否含有el属性,如果没有,我们看一下时候含有$mount()这个手动挂载方法,如果都没有,生命周期结束。如果有$mount('挂载点')生命周期继续执行。出现el属性,我们要先判断是否含有template这个属性,如果有,就直接编译解析成模板,如果有render()这个函数,优先渲染render()函数的内容,如果都没有就把外部的html(outerHTML)作为模板去编译解析。由此可以看出渲染的优先级是render>tempalte属性>outerHTML但是这个时候只是虚拟占位,真实数据并没有渲染,data属性依然存在。
当生命周期挂载完成,视图更新,被data属性所渲染,data数据依然不变。
当数据发生变化,就会触发beforeUpdate和updated
当调用destroy()这个函数方法的时候,执行beforeDestroy 销毁之前,destroyed 销毁这两个函数方法。

你经常使用的生命周期函数有哪些?哪些函数中会经常调用ajax

在created的时候已经含有了data和methods,你可以在created中调用ajax。
我个人习惯在mounted中调用ajax调用,这个时候,虚拟的数据已经替换了真实数据,你调用接口结束之后,可能会操作dom,所以在mounted中调用。
在mounted中我们可以进行大量的异步操作,比如ajax,比如 setTimenOut

 

posted @ 2021-01-03 17:44  诡道也  阅读(99)  评论(0)    收藏  举报