一、vue的生命周期
1、beforecreate:el和data并未初始化,watch、method都没有初始化,$route存在,可以根据路由信息进行重新定向。
2、created:data和method都被初始化,但是el并没有,最早获取到数据的一个阶段
3、beforemount:el和data完成了初始化,模板编译完成,并没有渲染到真实的页面中。
4、mounted:完成挂载,组件已经完成了创建阶段,如果需要某些插件操作dom节点,最早需要在mounted阶段进行。
5、beforeupdate:data更新之后,dom渲染之前被调用
6、updated:data更新完成和dom被渲染完成,页面和data保持同步。
7、beforedestroy:实例被销毁前调用,也就是说实例依旧可以被调用,没有真正执行销毁阶段
8、destroyed:组件完全被销毁了,data,method...都不可以被调用。
二、异步操作加载在哪个阶段
vue中异步操作一般可以在created和mounted阶段中调用异步请求;
其中在created中调用异步请求的优势是时间比较早,页面的loading时间相对较短,可以提升用户体验;
而在mounted中调用异步请求的优势是页面已经渲染完成,但是页面会进行二次渲染,需要页面渲染后对DOM进行操作,则需在mounted阶段发起异步请求。