*1、vue的生命周期(8个):
**
- beforeCreate 实例组件刚创建,元素DOM和数据都还没有初始化
- created 数据data已经初始化完成,方法也已经可以调用,但是DOM未渲染
- beforeMount DOM未完成挂载,数据也初始化完成,
- mounted 数据和DOM都完成挂载,在上一个周期占位的数据把值给渲染进去。可以在这边请求,不过created请求会更好一些。这个周期适合执行初始化需要操作DOM的方法。
- beforeUpdate 只要是页面数据改变了都会触发,数据更新之前,页面数据还是原来的数据,当你请求赋值一个数据的时候会执行这个周期,如果没有数据改变不执行。
- updated 页面数据改变了都会触发,数据更新完毕,页面的数据是更新完成的。
**- 备注**: beforeUpdate和updated要谨慎使用,因为页面更新数据的时候都会触发,在这里操作数据很影响性能和容易死循环。
- beforeDestroy 组件销毁之前执行
- destroyed 组件销毁(这后面两个还不是很明白具体使用)
- activated 被 keep-alive缓存的组件激活时调用。
- deactivated 被 keep-alive缓存的组件停用时调用。
2、小程序的生命周期(5个)
组件间的生命周期会有些区别
- onLoad 页面加载,一个页面只会调用一次,可以获得query 参数
- onShow 页面显示 、页面切入前台都会调用
- onHide 页面隐藏/切入后台时触发。 如 wx.navigateTo 或底部 tab 切换到其他页面,小程序切入后台等
- onReady 页面初次渲染完成,表示可以与视图层进行交互,像动态改变页面标题的就可以在这处理, wx.setNavigationBarTitle
- onUnload 页面卸载时触发。如wx.redirectTo或wx.navigateBack到其他页面时。
再来说下小程序 组件的生命周期:
- created 组件实例刚刚被创建时执行
- attached 组件实例进入页面节点时使用
- ready 在组件视图层完成布局后使用
- moved 在组件实例被移动到节点树另一个位置时执行
- detached 在组件实例被从页面节点树移除时执行
- error 每当组件方法抛出错误时执行
-
组件所在页面,会有一些特殊的生命周期,并不是很经常能用到,这里也稍微提下,组件所在页面周期有3个:
hide 组件所在页面隐藏时执行 show 组件所在页面显示时执行 resize 组件所在页面尺寸变化时执行