uniapp mounted方法和onready方法的区别
时间: 2024-06-07 16:10:52 浏览: 9
在uni-app中,mounted和onReady都是生命周期钩子函数,它们的区别如下:
1. 触发时机:mounted在页面渲染完毕后触发,onReady在页面初次渲染完成后触发。
2. 组件关系:mounted是组件钩子函数,只能在组件中使用;而onReady是页面钩子函数,只能在页面中使用。
3. 功能:mounted主要用于组件初始化相关的操作,如获取数据、绑定事件等;而onReady主要用于页面渲染后的操作,如操作DOM元素、调用第三方库等。
总体来说,mounted和onReady都是很重要的生命周期钩子函数,它们都可以用于处理一些初始化的操作,只是触发的时机和使用场景略有不同。
相关问题
vue2生命周期和uniapp生命周期对比
Vue2的生命周期和Uniapp的生命周期有一些相似之处,但也存在一些差异。下面是它们的对比:
Vue2的生命周期包括以下阶段:
1. beforeCreate:实例刚在内存中创建,数据观测和事件配置之前。
2. created:实例已经创建完成,数据观测和事件配置完成。
3. beforeMount:模板编译/挂载之前。
4. mounted:模板编译/挂载完成,实例已经挂载到DOM上。
5. beforeUpdate:数据更新之前,虚拟DOM重新渲染之前。
6. updated:数据更新完成,虚拟DOM重新渲染完成。
7. beforeDestroy:实例销毁之前,清除定时器、解绑事件等操作。
8. destroyed:实例销毁完成。
Uniapp的生命周期与Vue2的生命周期类似,但有一些额外的生命周期钩子函数:
1. onLaunch:小程序初始化时触发,全局只触发一次。
2. onShow:小程序启动或从后台进入前台显示时触发。
3. onHide:小程序从前台进入后台时触发。
4. onError:小程序发生脚本错误或API调用失败时触发。
5. onPageNotFound:小程序找不到页面时触发。
Uniapp还支持页面级别的生命周期钩子函数,包括:
1. onLoad:页面加载时触发。
2. onReady:页面初次渲染完成时触发。
3. onUnload:页面卸载时触发。
4. onPullDownRefresh:用户下拉刷新时触发。
5. onReachBottom:页面上拉触底时触发。
6. onShareAppMessage:用户点击右上角分享时触发。
在onload或在onready获取uniapp 获取元素高度一直返回null
在 `onload` 或者 `onready` 中获取元素高度返回 `null`,可能是因为元素还没有完全渲染完成,所以需要等到页面渲染完成后再获取元素高度。可以在 `mounted` 生命周期中使用 `this.$nextTick()` 来确保页面渲染完成后再获取元素高度,示例代码如下:
```
mounted() {
this.$nextTick(() => {
const height = this.$refs.element.offsetHeight; // 获取元素高度
});
},
```
其中,`this.$refs.element` 是需要获取高度的元素的引用,需要在元素上添加 `ref="element"` 属性。