quickapp_快应用_生命周期

news2024/9/25 19:23:31

生命周期

      • 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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谈谈 .NET8 平台中对 LiteDB 的 CRUD 操作

哪个啥!纯 C# 编写的 LiteDB 你还不会操作? LiteDB 简介LiteDB 安装同步版 LiteDB异步版 LiteDB.Async LiteDB StudioLiteDB CRUD 操作举例LiteDB vs SQLite 对比1、谈谈 sqlite 和 litedb 的 ACID 事务支持?2、谈谈 sqlite 和 litedb 的稳定…

股票代码合法验证:python字符串str应用

从键盘输入六位股票代码字符串,判定合法并输出板块分类,否则输出“NO”。 (笔记模板由python脚本于2023年12月04日 19:19:07创建,本篇笔记适合熟悉python字符串和字典的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网:https:…

C语言小游戏:三子棋

目录 🌍前言 🚅目录设计 💎游戏逻辑设置 ⚔三子棋棋盘设计 ⚔三子棋运行逻辑 👀怎么设置人下棋 👀怎么设置电脑下棋 ✈如何判断输赢 ✍结语 🌍前言 Hello,csdn的各位小伙伴你们好啊!这次小赵给大…

密码学学习笔记(二十三):哈希函数的安全性质:抗碰撞性,抗第一原象性和抗第二原象性

在密码学中,哈希函数是一种将任意长度的数据映射到固定长度输出的函数,这个输出通常称为哈希值。理想的哈希函数需要具备几个重要的安全性质,以确保数据的完整性和验证数据的来源。这些性质包括抗碰撞性、抗第一原象性和抗第二原象性。 抗碰…

C#网络编程TCP程序设计(Socket类、TcpClient类和 TcpListener类)

目录 一、Socket类 1.Socket类的常用属性及说明 2.Socket类的常用方法及说明 二、TcpClient类 三、TcpListener类 四、示例 1.源码 2.生成效果 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在C#中,TCP程序设…

Fiddler的配置、原理和使用

一、Fiddler的工作原理 本地应用与服务器之间所有的请求(request)和响应(response),由fiddler进行转发,此时fiddler以代理服务器的方式存在。 由于所有的网络数据都要经过fiddler,因此&#xf…

6、原型模式(Prototype Pattern,不常用)

原型模式指通过调用原型实例的Clone方法或其他手段来创建对象。 原型模式属于创建型设计模式,它以当前对象为原型(蓝本)来创建另一个新的对象,而无须知道创建的细节。原型模式在Java中通常使用Clone技术实现,在JavaSc…

01_W5500简介

目录 W5500简介: 芯片特点: 全硬件TCPIP协议栈: 引脚分布: W5500简介: W5500是一款高性价比的以太网芯片,其全球独一无二的全硬件TCPIP协议栈专利技术,解决了嵌入式以太网的接入问题,简单易用&#xff…

HostHunter虚拟主机发现

HostHunter虚拟主机发现 1.HostHunter2.安装3.参数解释4.实例1.HostHunter HostHunter 一种工具,用于有效发现和提取提供大量目标 IPv4 或 IPv6 地址的主机名。HostHunter 利用简单的 OSINT 和主动协调技术将 IP 目标与虚拟主机名进行映射。这对于发现组织的真正攻击面特别有…

直观清晰的带你了解KMP算法(超详细)

KMP算法用来找某个字符串是否存在某个连续的真子串的 下面举一个例子让抽象的KMP算法更加直观,有助于理解 首先我们要了解KMP算法首先要找到一个next数组来表示主串中每一个字符的回退的下标(这个下标是对于真子串而言的,主串不需要回退&…

ubuntu安装tomcat并配置前端项目

1.1查找 # 先更新 sudo apt update # 查找 apt search jdk1.2安装 sudo apt install openjdk-8-jdk1.3验证 java -version 2.安装tomcat 下载链接:Apache Tomcat - Apache Tomcat 8 Software Downloadshttps://tomcat.apache.org/download-80.cgi下载这个&…

layui+ssm实现数据批量删除

layuissm实现数据的批量删除 //数据表格table.render({id: adminList,elem: #adminList,url: ctx "/admin/getAdminList", //数据接口cellMinWidth: 80,even: true,toolbar: #toolbarDemo,//头部工具栏limit: 10,//每页条数limits: [10, 20, 30, 40],defaultToolba…

JS生成登录验证码

采用js生成登录的验证码 采用的技术点有html&#xff0c;css&#xff0c;JS&#xff0c;jQuery HTML&#xff1a; <div class"box_b"><img src"./img/0775639c-c82c-4a29-937f-d2a3bae5151a.png" alt""><div class"regist…

4G基站BBU、RRU、核心网设备

目录 前言 基站 核心网 信号传输 前言 移动运营商在建设4G基站的时候&#xff0c;除了建设一座铁塔之外&#xff0c;更重要的是建设搭载铁塔之上的移动通信设备&#xff0c;这篇博客主要介绍BBU&#xff0c;RRU以及机房的核心网等设备。 基站 一个基站有BBU&#xff0c;…

Leetcode—1038.从二叉搜索树到更大和树【中等】

2023每日刷题&#xff08;四十九&#xff09; Leetcode—1038.从二叉搜索树到更大和树 算法思想 二叉搜索树的中序遍历&#xff08;左根右&#xff09;结果是一个单调递增的有序序列&#xff0c;我们反序进行中序遍历&#xff08;右根左&#xff09;&#xff0c;即可以得到一…

Redis系列之incr和decr命令是线程安全的?

Redis是一个单线程的服务&#xff0c;所以正常来说redis的命令是会排队执行的。incr/decr命令是redis提供的可以实现递增递减的命令&#xff0c;所以这两个命令也是具有原子性的&#xff1f;是线程安全的&#xff1f;这个也是互联网公司面试的常见题&#xff0c;话不多说&#…

linux 命令 tmux 用法详解

一、tmux 解决的痛点&#xff08;screen命令一样可以解决&#xff0c;但是tmux功能更强大&#xff09; 痛点一&#xff1a;大数据传输的漫长一夜 相信做过 Linux 服务运维的同学&#xff0c;都用 scp 进行过服务器间的大文件网络传输。一般这需要很长的时间&#xff0c;这期间…

react结合vant的Dialog实现签到弹框操作

1.需求 有时候在开发的时候&#xff0c;需要实现一个签到获取积分的功能&#xff0c;使用react怎么实现呢&#xff1f; 需求如下&#xff1a; 1.当点击“签到”按钮时&#xff0c;弹出签到框 2.展示签到信息&#xff1a; 签到天数&#xff0c; 对应天数签到能够获取的积分&…

封装时间轴组件 timeline

要求时间轴的点展示进度百分比&#xff0c;线也根据进度不同展示不同长度的颜色 实现效果&#xff1a; 使用的组件库是vant的circle 子组件&#xff1a; <template><div class"m-timeline-area" :style"width: ${width}px"><div class&qu…

XXL-Job详解(五):动态添加、启动任务

目录 前言XXL-Job API接口添加任务API动态添加任务动态启动任务 前言 看该文章之前&#xff0c;最好看一下之前的文章&#xff0c;比较方便我们理解 XXL-Job详解&#xff08;一&#xff09;&#xff1a;组件架构 XXL-Job详解&#xff08;二&#xff09;&#xff1a;安装部署 X…