quickapp_快应用_生命周期

生命周期

      • APP的生命周期
      • 页面组件的生命周期
        • 页面栈
        • 页面的生命周期
          • onBackPress
          • onMenuPress
            • 踩坑
          • onRefresh
          • onConfigurationChanged
          • 页面滚动
      • 自定义组件的生命周期
      • 父子组件初始化生命周期执行顺序

APP的生命周期

App的生命周期在app.ux 中定义的回调函数。

onCreate() {
  prompt.showToast({
    message: 'onCreate--应用调用--onCreate'
  })
},
onRequest(){
  prompt.showToast({
    message: 'onRequest--监听应用收到一个外部的打开新页面的请求--onRquest'
  })
},
onShow(){
  prompt.showToast({
    message: 'onShow--应用返回前台时调用--onShow'
  })
},
onHide(){
  prompt.showToast({
    message: 'onHide--应用退到后台时调用--onHide'
  })
},
onDestroy(){
  prompt.showToast({
    message: 'onDestroy--应用销毁时调用--onDestroy'
  })
},
onError({message}){
  prompt.showToast({
    message: 'onError--应用报错时调用--onError'+`错误原因是${message}`
  })
}

上述代码

  • 进入系统时走: onCreate、onRequest、onShow;
  • 通过router.push进行页面跳转时不走任何回调
  • 切换后台时走: onHide
  • 切回项目时走:onShow
  • 存在错误时走: onError

页面组件的生命周期

页面栈

web页面开发:在浏览器页签中每次只能有一个页面,当前页签打开另一个页面,上个页面就销毁了;

在浏览器页签打开某个页面1(页面1初始化、渲染…),在当前页签打开页面B(页面1销毁,页面2初始化、渲染…)

快应用开发:可以同时运行多个页面,但是每次只显示其中一个页面

页面栈中就是存储当前存在的页面,在进行路由跳转时如何从页面栈中获取页面是由页面启动模式决定的!

页面的生命周期

生命周期

生命周期概括等价vue中的哪个周期
onInit数据已经准备好,可以开始使用页面中的数据created
onReady模板已经编译完成,可以获取dom节点mounted
onShow页面重新显示时调用
onHide页面被隐藏时调用
onDestory页面被销毁时调用beforeDestory
onBackPress点击返回按钮时调用
onMenuPress点击右上角胶囊时调用
onRefresh
onPageScroll页面滚动时触发
onReachTop页面触顶时触发
onReachBottom页面触底时触发
onBackPress

在这里插入图片描述

onMenuPress

此处先熟悉manifest.json配置项中的display配置项配置。

在这里插入图片描述

踩坑

在Home页面监听onMenuPress事件无反应!

// 点击menuBar按钮时onMenuPress函数根本没有被调用!
onMenuPress(){
  prompt.showToast({
    message: '111111'
  })
  return true
}

原因是manifest.json配置文件的display配置项的menu属性没有设置为true!

"display": {
  "menu": true,
  "titleBar": true // 兼容1070之前
}

此时点击右上角不会拉起分享弹窗并提示111111

onRefresh

函数的执行时机

  • 1.当页面的切换模式标识为singleTask时,仅会存在一个目标页面实例,用户多次打开目标页面时触发此函数。
  • 打开目标页面时在 push 参数中携带 flag 'clearTask',且页面实例已经存在时触发

详情请在 页面切换->页面切换模式 目录下查看

语法

// 该回调中参数为重新打开该页面时携带的参数
onRefresh(query) {
  console.log('page refreshed!!!')
}

注意: launchMode 为 singleTask 时,重新打开页面时携带的参数不会自动更新到页面 this 对象上需要在此处从 query 中拿到并手动更新

onConfigurationChanged
页面滚动
  • onPageScroll: 监听页面滚动
    onPageScroll(evt) {
      console.log(`页面滚动距离:${evt.scrollTop}`)
    }
    
  • onReachTop:监听页面是否触顶
    onReachTop(){
     // 页面触顶时触发
    }
    
  • onReachBottom:监听页面是否触底
    onReachTop(){
    // 页面触底时触发
    }
    

自定义组件的生命周期

相对于组件的生命周期来说自定义组件的生命周期并不全,仅有3个生命周期函数。
在这里插入图片描述
如上:自定义组件只有3个三个生命周期函数

在使用时需要注意时机。

父子组件初始化生命周期执行顺序

父组件init -> 子组件init -> 子组件ready -> 父组件ready -> 父组件show

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/215680.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Apache solr XXE 漏洞(CVE-2017-12629)

任务一: 复现环境中的漏洞 任务二: 利用XXE漏洞发送HTTP请求,在VPS服务器端接受请求,或收到DNS记录 任务三: 利用XXE漏洞读取本地的/etc/passwd文件 1.搭建环境 2.开始看wp的时候没有看懂为什么是core,然…

动能芯片 | SI3262—高度集成的低功耗SOC芯片 刷卡触摸一体

Si3262是一款高度集成的低功耗SOC芯片,其集成了基于RISC-V核的低功耗MCU和工作在13.56MHz的非接触式读写器模块。 MCU模块具有低功耗、Low Pin Count、宽电压工作范围,集成了13/14/15/16位精度的ADC、LVD、UART、SPI、I2C、TIMER、WUP、IWDG、RTC、TSC等…

【ArcGIS Pro微课1000例】0046:深度学习--汽车检测

本实验讲述ArcGIS Pro中人工智能深度学习应用之–汽车检测。 文章目录 一、学习效果二、工具介绍三、案例实现四、注意事项一、学习效果 采用深度学习工具,可以很快速精准的识别汽车。 案例一: 案例二: 下面讲解GIS软件实现流程。 二、工具介绍 该案例演示的是ArcGIS Pro中…

C++ Easyx 让圆球跟随鼠标移动

目录 下载Easyx 检验 绘制窗口 画圆 响应事件的处理 清除原先绘图 渲染缓冲区 逻辑 代码托管 下载Easyx 在Easyx官网下载大暑版: 检验 写如下代码: 编译运行,如果控制台出现2023字样,代表配置成功: 绘制窗口 进入Eaxy官方网站,点…

51单片机项目(20)——基于51单片机的电机速度PID控制

1.功能设计 使用51单片机,控制电机速度,用了PID算法。有数码管显示实时速度,可以用按键设定速度。数码管也显示设定的预期速度。另外,还可以控制电机的换向和启停。 2.仿真图 3.PID算法介绍 PID算法,即Proportional-I…

【cmake】获取到某个目录下的所有子目录名

整体工程目录结构如下。现打算获取到vac目录下的所有子目录名。 cmake 实现如下: # 设定要遍历的目录,保存到 VAC_INCLUDE_DIR 变量 set(VAC_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/vac)# 获取到当前目录下的所有文件和目录(以相对路径的方式)&a…

NFTScan | 11.27~12.03 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期:2023.11.20~ 2023.11.26 NFT Hot News 01/ Web3 教育平台 Open Campus 获 Binance Labs 315 万美元投资 11 月 27 日,Binance Labs 已向社区主导的 Web3 教育平台 Open Campu…

2023-简单点-树莓派中的硬件通讯

树莓派中的通讯方式 串口通讯什么是串口通讯?串口设备的格式串口通讯的特点 tips并行通讯?基于网络的通讯?socket通讯 串口通讯 什么是串口通讯? 串行通信每次传输一个位元数据,并在连续进行单次过程的基础上进行通信。根据数据…

windows 11 家庭版怎样安装docker

这里写自定义目录标题 一、安装wsl1、开启硬件虚拟化2、安装wsl3.升级WSL到WSL24、下载安装linux分支5、测试运行6、出现如下问题7、迁移到非系统盘8、文件资源管理器9、配置网络10、更新和升级 一、安装wsl 1、开启硬件虚拟化 检查是否开启Hyper-V, 适用于Linux的Windows子系…

揭秘:大厂设计师是如何制定UI风格的?

当你碰到一个新的项目或产品战略需要进行重大的改变时,作为UI设计师,你要如何重新思考产品的视觉风格?从何处开始?存在哪些重要注意点?今天我们有幸请到Pixso的设计师,他们将以出租车应用程序的风格设计过程…

142873-41-4脂质过氧化抑制剂1-星戈瑞

142873-41-4脂质过氧化抑制剂1 英文名称:Lipid peroxidation inhibitor 1 中文名称:脂质过氧化抑制剂 化学名称:2,4,6,7-四甲基-2-[(4-苯基哌啶-1-基)甲基]-3H-1-苯并呋喃-5-胺 CAS:142873-41-4 外观:固体粉末 分…

Flume 安装部署

文章目录 Flume 概述Flume 安装部署官方网址下载安装配置文件启动 Flume 进程启动报错输出文件乱码问题 Flume 概述 Flume(Apache Flume)是一个开源的分布式日志收集、聚合和传输系统,属于 Apache 软件基金会的项目之一。其主要目标是简化大…

二叉查找树和红黑树

二叉搜索树又叫二叉查找树、二叉排序树,我们先看一下典型的二叉搜索树,这样的二叉树有何规则特点呢? 1.节点的左子树小于节点本身; 2.节点的右子树大于节点本身; 3.左右子树同样为…

SAP_ABAP_内表数据重复问题,解决思路

SAP ABAP 顾问(开发工程师)能力模型_Terry谈企业数字化的博客-CSDN博客文章浏览阅读516次。目标:基于对SAP abap 顾问能力模型的梳理,给一年左右经验的abaper 快速成长为三年经验提供超级燃料!https://blog.csdn.net/j…

【蓝桥杯】二分查找

二分查找 题目描述 输入 n n n 个不超过 1 0 9 10^9 109 的单调不减的(就是后面的数字不小于前面的数字)非负整数 a 1 , a 2 , … , a n a_1,a_2,\dots,a_{n} a1​,a2​,…,an​,然后进行 m m m 次询问。对于每次询问,给出一…

C#中GDI+图形图像技术(Graphics类、Pen类、Brush类)

目录 一、创建Graphics对象 1.创建Pen对象 2.创建Brush对象 (1)SolidBrush类 (2)HatchBrush类 ​​​​​​​(3)LinerGradientBrush类 用户界面上的窗体和控件非常有用,且引人注目&#…

全球与中国工业冰箱市场:增长趋势、竞争格局与前景展望

工业制冷机是用来维持储运容器内低温冷藏环境,以防止食品饮料、药品、化学品等对温度敏感的产品腐败变质的系统。此外,冷冻机、热交换器等冷冻系统也用于在工业机械运作过程中保持冷却。工业冷冻系统的需求成长主要是由食品和饮料产业的成长所推动的。 冷…

成为AI产品经理——回归模型评估(MSE、RMSE、MAE、R方)

分类问题的评估是看实际类别和预测类别是否一致,它的评估指标主要有混淆矩阵、AUC、KS。回归问题的评估是看实际值和预测值是否一致,它的评估指标包括MAE、MSE、RMSE、R方。 如果我们预测第二天某支股票的价格,给一个模型 y1.5x,…

Python+OpenCV实现最强自动扫雷

文章目录 准备实现思路窗体截取雷块分割雷块识别扫雷算法实现关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 用…

【C++初阶】六、类和对象(初始化列表、static成员、友元、内部类)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【C初阶】五、类和对象 (日期类的完善、流运算符重载函数、const成员、“&”取地址运算符重载)-CSDN博客 目录 ​​​​​​​一 . 初始化列表 构造函数…