当前位置: 首页 > article >正文

uni-app学习笔记十五-vue3页面生命周期(一)

页面生命周期概览

vue3页面生命周期如下图所示:

 

 

onLoad

此时页面还未显示,没有开始进入的转场动画,页面dom还不存在。

所以这里不能直接操作dom(可以修改data,因为vue框架会等待dom准备后再更新界面);在 app-uvue 中获取当前的activity拿到的是老页面的activity,只能通过页面栈获取activity。

onLoad比较适合的操作是:接受上页的参数,联网取数据,更新data。

手机都是多核的,uni.request或云开发联网,在子线程运行,不会干扰UI线程的入场动画,并行处理可以更快的拿到数据、渲染界面。

但onLoad里不适合进行大量同步耗时运算,因为此时转场动画还没开始。

尤其uni-app x 在 Android上,onLoad里的代码(除了联网和加载图片)默认是在UI线程运行的,大量同步耗时计算很容易卡住页面动画不启动。除非开发者显式指定在其他线程运行。

 onReady

第2步创建dom是虚拟dom,dom创建后需要经历一段时间,UI层才能完成了页面上真实元素的创建,即触发了onReady。

onReady后,页面元素就可以自由操作了,比如ref获取节点。同时首批界面也渲染了。

注意:onReady和转场动画开始、结束之间,没有必然的先后顺序,完全取决于dom的数量和复杂度。

下面通过实际案例来掌握这2个生命周期函数的用法

demo5中有一导航

<view><navigator url="/pages/demo6/demo6?name=Jimy&age=20">跳转到demo6</navigator>
</view>

demo6中在onLoad函数中获取参数值

<template><view>姓名:{{name}}年龄:{{age}}</view><scroll-view scroll-y="true"  ref="scroll"><view></view></scroll-view>
</template><script setup>import {ref} from "vue"import {onLoad,onReady} from "@dcloudio/uni-app"const name = ref("Jim")const age = ref("16")const scroll = ref(null)onLoad((e)=>{console.log(e)name.value = e.nameage.value = e.ageconsole.log("onload时的值:"+scroll.value)})onReady((e)=>{console.log("onReady时的值:"+scroll.value)console.log("onReady时获取到的参数值:"+e)})
</script>

onLoad和onReady需要引入才能使用

http://www.lryc.cn/news/2387397.html

相关文章:

  • Flink核心概念小结
  • 《软件工程》第 14 章 - 持续集成
  • 大模型 Agent 中的通用 MCP 机制详解
  • Navicat 17 SQL 预览时表名异常右键表名,点击设计表->SQL预览->另存为的SQL预览时,表名都是 Untitled。
  • Orpheus-TTS:AI文本转语音,免费好用的TTS系统
  • Python爬虫实战:研究Goose框架相关技术
  • webpack优化方法
  • STM32 Keil工程搭建 (手动搭建)流程 2025年5月27日07:42:09
  • MyBatis 框架使用与 Spring 集成时的使用
  • OpenGL Chan视频学习-7 Writing a Shader inOpenGL
  • 顶会新方向:卡尔曼滤波+目标检测
  • 数据库相关问题
  • 一起学数据结构和算法(二)| 数组(线性结构)
  • Linux基本指令篇 —— touch指令
  • 【后端高阶面经:消息队列篇】23、Kafka延迟消息:实现高并发场景下的延迟任务处理
  • Mac安装MongoDB数据库以及MongoDB Compass可视化连接工具
  • 城市地下“隐形卫士”:激光甲烷传感器如何保障燃气安全?
  • MySQL推出全新Hypergraph优化器,正式进军OLAP领域!
  • 飞牛fnNAS手机相册备份及AI搜图
  • 消费类,小家电产品如何做Type-C PD快充快速充电
  • 连接表、视图和存储过程
  • 人工智能赋能教育:重塑学习生态,开启智慧未来
  • 银河麒麟V10×R²AIN SUITE:用AI重构安全,以国产化生态定义智能未来
  • JavaScript- 3.2 JavaScript实现不同显示器尺寸的响应式主题和页面
  • 15.进程间通信(一)
  • AI 数据采集实战指南:基于 Bright Data 快速获取招标讯息
  • cursor使用mcp
  • 小白成长之路-计算机网络(四)
  • 【Agent】MLGym: A New Framework and Benchmark for Advancing AI Research Agents
  • 5.27 打卡