微信 小程序应用,页面,组件的生命周期

news2024/10/6 6:45:27

组件生命周期

组件的生命周期:指的是组件自身的一些钩子函数,这些函数在特定的时间节点时被自动触发

组件的生命周期函数需要在 lifetimes 字段内进行声明

最重要的生命周期是 created attached detached 包含一个组件生命周期流程的最主要时间点

定义段描述
created在组件实例刚刚被创建时执行,注意此时不能调用 setData (还没有对模板解析)
attached在组件实例进入页面节点树时执行 (模板已经解析完毕,并且挂载到页面上)
ready在组件布局完成后执行
moved在组件实例被移动到节点树另一个位置时执行
detached在组件实例被从页面节点树移除时执行 (组件被销毁了)

在这里插入图片描述

  1. 【组件实例刚刚被创建好时】, created 生命周期被触发。此时,组件数据 this.data 就是在 Component 构造器中定义的数据 data此时还不能调用 setData 通常情况下,这个生命周期只应该用于给组件 this 添加一些自定义属性字段。

  2. 【在组件完全初始化完毕】、进入页面节点树后, attached 生命周期被触发。此时, this.data 已被初始化为组件的当前值。这个生命周期很有用,绝大多数初始化工作可以在这个时机进行。

  3. 【在组件离开页面节点树后】, detached 生命周期被触发。退出一个页面时,如果组件还在页面节点树中,则 detached 会被触发。

Component({
  
  lifetimes: {
    created: function () {
      // 在组件实例刚刚被创建时执行,注意此时不能调用 setData 
      // 一般用来为组件添加一些自定义属性字段。
    },
    attached: function() {
      // attached 在组件完全初始化完毕、进入页面节点树后执行
      // 模板已经解析完毕,并且挂载到页面上
      // 一般都是在这里写对应的交互
    },
    detached: function() {
      // 在组件实例被从页面节点树移除时执行
    },
    
    // coding...
  }
    
  // coding...
})

组件所在页面的生命周期

组件还有一些特殊的生命周期,这类生命周期和组件没有很强的关联

主要用于组件内部监听父组件的展示、隐藏状态,从而方便组件内部执行一些业务逻辑的处理

组件所在页面的生命周期有 4 个: show、 hide、 resize、 routeDone,需要在 pageLifetimes 字段内进行声明

// components/custom06/custom06.js
Component({

  // coding...

  // 组件所在页面的生命周期
  pageLifetimes: {

    // 监听组件所在的页面展示(后台切前台)状态
    show () {
      console.log('组件所在的页面被展示')
    },

    // 监听组件所在的页面隐藏(前台切后台、点击 tabBar)状态
    hide () {
      console.log('组件所在的页面被隐藏')
    }

  }

})

小程序生命周期总结

小程序冷启动,钩子函数执行的顺序

保留当前页面(navigate) 以及 关闭当前页面(redirect)

在这里插入图片描述

切后台 以及 切前台(热启动)

在这里插入图片描述

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

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

相关文章

【Python】从0开始的Django基础

Django框架基础 unit01一、Django基础1.1 什么是Django?1.2 安装与卸载1.2.1 Python与Django的版本1.2.2 安装1.2.3 查看Django版本1.2.4 卸载 二、Django项目2.1 概述2.2 创建项目2.3 启动项目2.4 项目的目录结构2.5 配置 三、URL 调度器3.2 定义URL路由3.2 定义首页的路由3.…

大模型太贵?找找自己的原因好吧?

什么? 炼个大模型还嫌贵? 到底哪里贵了!? 大模型算力贵?哪里贵了!? 争先恐后训练大模型, 搞得现在“算力慌”“一卡难求”, 算力当然水涨船高了! “特供版”GPU又…

vue中axios从content-disposition响应头获取中文名

在Vue中使用axios请求文件时,服务器可能会返回带有Content-Disposition响应头的文件,其中可能包含文件名的编码信息。如果你需要解码这个文件名,可以使用JavaScript的内置URL API来处理。 Java中用于设置HTTP响应头的,通常在Web开…

js中!emailPattern.test(email) 的test是什么意思

test 是 JavaScript 正则表达式(RegExp)对象的方法之一,用于测试一个字符串是否与正则表达式匹配。正则表达式是一种用于匹配字符串的模式,通常用于验证输入数据、查找和替换文本等。 使用 test 方法 test 方法语法如下&#xf…

Ubuntu20.04中复现FoundationPose

Ubuntu20.04中复现FoundationPose 文章目录 Ubuntu20.04中复现FoundationPose1.安装cuda和cudnn2.下载相关资源3.环境配置4.运行model-based demo5.运行ycbv demoReference 🚀 非常重要的环境配置 🚀 ubuntu 20.04cuda 11.8.0cudnn v8.9.7python 3.9.19…

3ds MAX 2024版资源包下载分享 3ds Max三维建模软件资源包下载安装

3DSMAX凭借其强大的功能和广泛的应用领域,吸引了无数创作者的青睐。 在游戏制作领域,3DSMAX展现出了无可比拟的优势。从细腻的角色建模到宏大的场景搭建,再到逼真的动画效果和渲染,它都能轻松应对,为游戏世界注入了生动…

Linux服务器上激活conda环境conda: error: argument COMMAND: invalid choice: ‘activate‘

正常我们使用如下来流程: 创建环境:conda create -n 环境名称 激活环境:conda activate 环境名称 但是,在Linux服务器上,使用conda activate 环境名称,出现如上图所示的报错。conda: error: argument CO…

伦敦现货黄金交易市场的历史与地位

英国的伦敦之所以能够成为世界上最大的现货黄金交易市场,当然有着其历史的原因。其实早在1804年,伦敦就取代荷兰阿姆斯特丹交易所,成为了世界黄金交易的中心。1919年伦敦黄金市场正式成立,每天上午和下午的进行两次黄金定价&#…

详细图文手把手教你阿里云注册域名如何托管到CloudFlare DNS服务

1.第一步:注册并登录Cloudflare账号,点击右上角“添加站点”,进入下图页面填写域名,点击继续。 2.第二步:进入页面滑动到最下方,选择Free免费套餐,再次点击继续。 3.第三步:这个页面…

socket--IP端口爆破域名解析

免责声明:本文仅做技术交流与学习... 目录 IP端口爆破 域名解析爆破 IP端口爆破 #端口扫描: #获取扫描的 IP和端口 #连接 IP和端口(socket) #判断连接状态-开放和关闭# import socket # # 加入参数模式 # import os # ssocket.socket() # s.connect((…

HarmonyOS NEXT首个公测Beta版封包完成

华为将在6月21日至23日在深圳举办华为开发者大会2024。 根据华为消费者业务CEO余承东此前的预告,HarmonyOS NEXT将在大会上正式推出Beta版本,用户将有机会体验全新的鸿蒙系统。 HarmonyOS NEXT首个公测Beta版封包完成:Mate 60和Pura 70系列即…

【干货】分享系统源码,总有一个你想要的(Java、Python、Android、C#、Vue等)

目录 即时通讯管理系统(JavaSpringBootvueelementui)在线考试系统(JavaSpringBootVue)JavaSpringBootVue实现猜灯谜答题抽奖系统JavaSpringSpring MVCMyBatis实现图书管理系统基于SpringBootMySQLGuavaRedisRabbitMQ实现高并发商品…

Playwright鼠标悬浮元素定位方法

优点:你把鼠标点烂,把它从20楼丢下去,元素定位就在那,他不动,我说的偶像! F12打开浏览器的调试页面 点击源代码Sources 右侧找到事件监听器断点(Event Listener breakpoints)&#…

防止暴力破解,教你如何在登录失败后实施10分钟账户锁定策略!

最近,在服务器上发现了异常的登录尝试。尽管您的团队已经采取了强密码策略和其他安全措施来加固服务器,但恶意程序仍然通过暴力破解的方式试图多次尝试猜测正确的凭据以获取访问权限。为了增强系统的安全性,特别是防止此类暴力破解攻击&#…

LeetCode esay mid 记录

1486. 数组异或操作 感觉一般也用不到 emmm 灵茶山艾府传送门 推导过程可以结合官网部分观看 重点由两部分的结合 将特定部分转换为常见部分 0到n的异或和表示 2595. 奇偶位数 0x555是十六进制数,转换为二进制为 0101 0101 0101 class Solution {public int[…

随时随地,开启你的短剧之旅——小程序系统大揭秘

在快节奏的现代生活中,短小精悍、情节紧凑的短剧成为了人们消遣碎片时间的新宠。短剧小程序系统应运而生,旨在满足这种新兴的娱乐消费需求。该系统不仅为观众提供了便捷的观剧方式,还为创作者和品牌搭建了一个全新的展示平台。接下来&#xf…

白酒:茅台镇白酒的酒厂社会责任与可持续发展

云仓酒庄豪迈白酒,作为茅台镇的品牌,不仅在产品品质和口感方面有着卓着的表现,在酒厂社会责任和可持续发展方面也做出了积极的探索和实践。 首先,云仓酒庄豪迈白酒注重环境保护和资源利用。酒厂在生产过程中严格控制能源消耗和排放…

操作系统 - 进程的控制(创建与终止)

进程控制 文章目录 进程控制进程创建进程的终止wait()和waitpd()僵尸进程孤儿进程 进程创建 程序在执行的过程中,可能会创建多个进程,创建进程称为父进程,新的进程称为子进程,每个新的进程也可以创建其他进程,从而形成…

警惕!ELSEVIER旗下1本双1区TOP被On Hold !请大家谨慎投稿

【SciencePub学术】又1本!双1区TOP刊被On Hold !官方现在对期刊质量的管控越来越严格了,被标记为On Hold后的期刊中,大部分的命运也是被WOS数据库剔除!所以请大家谨慎投稿! 《Information Sciences》作为一…

研发管理平台有哪些?符合软件公司需求的工具要具备这几个特征!

本人从事TOB行业十余年,目前就职的就是一家软件公司。下面,本人就站在软件公司的角度来讲一讲:我们公司做项目研发时,会选择一个什么样的研发管理工具来辅助?供大家参考。 众所周知,软件研发项目是一个复杂…