赞
踩
在UniApp中,除了Vue.js的生命周期函数外,还有一些UniApp独有的生命周期函数。下面是它们的详细解释及其区别:
Uniapp是基于Vue.js的跨平台开发框架,因此其生命周期与Vue.js的生命周期类似。以下是uniapp中常用的生命周期函数和相关API的详细讲解和代码注释:
在实例初始化之后,数据观测和事件配置之前被调用。
export default {
beforeCreate() {
console.log('beforeCreate')
}
}
实例创建完成后被立即调用。
export default {
created() {
console.log('created')
}
}
在挂载开始之前被调用:相关的 render 函数首次被调用。
export default {
beforeMount() {
console.log('beforeMount')
}
}
实例挂载后调用,此时组件 DOM 已经渲染出来了。
export default {
mounted() {
console.log('mounted')
}
}
数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。
export default {
beforeUpdate() {
console.log('beforeUpdate')
}
}
由于数据更改导致的虚拟 DOM 重新渲染和打补丁完成之后调用。
export default {
updated() {
console.log('updated')
}
}
实例销毁之前调用。
export default {
beforeDestroy() {
console.log('beforeDestroy')
}
}
实例销毁后调用。
export default {
destroyed() {
console.log('destroyed')
}
}
在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。
this.$nextTick(() => {
// DOM 更新完成后执行的回调函数
})
迫使 Vue 实例重新渲染。
this.$forceUpdate()
完全销毁一个实例。清理它与其他实例的连接,解绑它的全部指令及事件监听器。
this.$destroy()
这些生命周期函数的区别在于它们被触发的时机和作用范围不同。Vue.js的生命周期函数主要是针对组件的,而UniApp独有的生命周期函数是针对整个小程序的。其中,onLaunch和onShow是非常重要的生命周期函数,可以用来初始化一些全局变量或执行一些全局操作。
代码注释如下:
export default { beforeCreate() { // 在实例初始化之后,数据观测和事件配置之前被调用 }, created() { // 实例已经创建完成之后被调用 }, beforeMount() { // 在挂载开始之前被调用 }, mounted() { // el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子 }, beforeUpdate() { // 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前 }, updated() { // 由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子 }, beforeDestroy() { // 实例销毁之前调用 }, destroyed() { // 实例销毁之后调用 }, onLaunch(options) { // 当小程序初始化完成时,会触发 onLaunch(全局只触发一次) }, onShow(options) { // 当小程序启动,或从后台进入前台显示,会触发 onShow }, onHide() { // 当小程序从前台进入后台,会触发 onHide }, onError(error) { // 当小程序发生脚本错误或 API 调用失败时,会触发 onError 并带上错误信息 } }
Uniapp的生命周期说白了== >Vue的生命周期函数+uniapp自定义的生命周期函数
但是在开发中 大都是基于vue的组件思路 所以常用的还是 Vue的生命周期
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。