首页 > 其他分享 >Joker 前端框架组件的生命周期

Joker 前端框架组件的生命周期

时间:2024-12-11 19:58:16浏览次数:4  
标签:触发 生命周期 钩子 Joker 实例 组件

Joker 前端框架组件的生命周期

在 Joker 框架中,组件的生命周期是一个重要的概念,它涵盖了从组件实例化到销毁的整个过程。

一、生命周期概述

当组件类被实例化并开始渲染其视图及其子视图时,组件的生命周期便正式开始。在这个过程中,Joker 会持续进行变更检测,监控数据绑定属性的变化,并在必要时对视图和组件实例进行更新。当组件实例被销毁且其渲染的模板从 DOM 中移除时,生命周期宣告结束。同时,在 Joker 执行过程中,指令也会经历类似的生命周期。

二、响应生命周期事件

应用程序可以通过实现 core 库中定义的一个或多个生命周期钩子接口,来响应组件或指令生命周期中的关键事件。这些接口为开发者提供了在合适时机对组件或指令实例进行操作的机会。

(一)钩子接口及方法

每个接口都包含一个唯一的钩子方法。例如:

  • create钩子函数:如果在组件或指令类中实现了这个方法,Joker 会在首次检查完组件或指令的输入属性后,立即调用此方法。

(二)示例代码

以下是一个简单的组件类示例,展示了如何实现一些常见的生命周期钩子方法:

import { Component } from "@joker.front/core";

export default class extends Component {
    created() {
        //组件创建时触发
    }

    mounted() {
        //组件渲染并挂载到DOM后触发
    }

    destroyed() {
        //组件销毁后触发,作为声明周期最后一个钩子函数
    }
}

开发者不需要实现所有生命周期钩子,只需根据实际需求选择实现即可。

三、生命周期的顺序

当应用通过调用构造函数来创建一个组件实例时,Joker 会依据实例生命周期的阶段,调用相应实现的钩子方法。

(一)默认生命周期顺序

  1. 首先是constructor构造函数被调用。
  2. 接着组件被装载($mount),同时进行数据劫持监听。
  3. 然后created钩子被触发,此时组件已创建。
  4. 之后判断是否有模版,如果有则进行渲染模板($render)操作,再将其挂载到 DOM,此时mounted钩子被触发。
  5. 最后在组件销毁时,会先调用$destory,然后卸载子组件,在beforeDestory阶段清理数据劫持监听和清理事件数据,最后在destroyed阶段清理节点数据,生命周期结束。

(二)保持状态的组件生命周期

在默认的 Joker 体系下,组件的挂载和卸载是一次性的,不存在状态保持。为了满足组件状态保持的需求,Joker 提供了keep - alive属性。

  • 当组件带有keep - alive属性时,在调用destroy时,只销毁 DOM 节点,而不销毁组件实例。组件被“睡眠”,sleeped钩子函数被触发。
  • 当组件再次被装载时,会使用存活实例重新render DOM,wakeup钩子函数被触发,实现组件状态保持。

四、在可视化平台中如何管理组件生命周期

在组件或者页面可视化面板中我们可以在方法事件管理面板中去添加生命周期函数。

在事件面板中,我们可以在这里去编写生命周期逻辑。

五、生命周期钩子函数介绍

以下是对各个生命周期钩子函数的简要介绍:

函数名称 介绍
created 组件创建后触发
mounted 组件渲染完毕并挂载 DOM 后触发
beforeDestroy 组件销毁前触发
destroyed 组件销毁后触发,作为生命周期最后一个钩子函数
sleeped 组件被睡眠后的钩子函数
weakup 组件被唤醒后触发的钩子函数

通过对组件生命周期的了解,开发者可以更好地掌握组件在不同阶段的行为,从而更有效地进行应用程序的开发。

标签:触发,生命周期,钩子,Joker,实例,组件
From: https://www.cnblogs.com/lhjyysg/p/18600573

相关文章

  • *****理解ASP.NET Core - 中间件(Middleware),以及中间件的生命周期*****
    理解ASP.NETCore-中间件(Middleware)中间件先借用微软官方文档的一张图:可以看到,中间件实-掘金ASP.NETCore管道详解[4]:中间件委托链-Artech-博客园 通过调用IApplicationBuilder接口的UseMiddleware扩展方法注册的是一个按照约定规则定义的中间件类型,由于中......
  • vue 组件之间的传值方式
    一、父组件向子组件传值父组件可以使用 props 将数据传递给子组件。<!--父组件--><template><ChildComponent:message="parentMessage"/></template><script>importChildComponentfrom'./ChildComponent.vue';exportdefault{compo......
  • Joker 前端框架组件的生命周期:深度解析与实践应用
    在Joker前端框架的开发体系中,组件的生命周期犹如一颗精准的导航星,指引着开发者构建高效、稳定且富有交互性的应用程序。它完整地涵盖了从组件实例诞生的那一刻起,直至其完成使命被销毁的全过程,每一个阶段都蕴含着独特的意义与功能。一、生命周期:全景扫描当一个组件类被实例化,犹......
  • 【Axure模版素材】中国地图组件
    【Axure】中国地图组件Axure中的中国地图组件特别适用于原型设计阶段,它为产品经理和设计师提供了一种高效的方式来构建包含地理信息的交互原型。以下是该组件库的详细特点和使用场景:Axure组件库适用场景:原型设计阶段,快速构建交互原型。特点:提供了23个省份、4个直辖市、5......
  • 【Axure 模版素材】微信小程序 WeUl 组件库 - AxureMost
    【Axure模版素材】微信小程序WeUl组件库-AxureMostWeUI组件库/元件库是一款精心设计的、针对微信小程序的扩展组件库。WeUI是由为微信小程序和网页设计的一套基础样式库,旨在提供与微信原生视觉体验一致的界面元素。WeUI包含了多个组件和样式,以确保用户在使用小程序......
  • 剖析 SSM 校园一卡通密钥管理系统 PF 对密钥生命周期的精细化管理
    第1章绪论1.1选题动因当前的网络技术,软件技术等都具备成熟的理论基础,市场上也出现各种技术开发的软件,这些软件都被用于各个领域,包括生活和工作的领域。随着电脑和笔记本的广泛运用,以及各种计算机硬件的完善和升级,市面上的电脑和笔记本的性能都得到提升,可以支持的软件也逐......
  • 基于Objective-C和C语言的蜂巢爆料组件设计源码-Z5yUlJ1u
    基于Objective-C和C语言的蜂巢爆料组件设计源码地址该项目是基于Objective-C和C语言的蜂巢爆料组件设计源码,包含312个文件,其中包括292个PNG图片文件、4个头文件(.h)、3个属性列表文件(.plist)、1个模块映射文件(modulemap)以及一系列框架和签名文件。该组件适用于需要高效信息收集......
  • JSP 生命周期
    理解JSP底层功能的关键就是去理解它们所遵守的生命周期。JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。以下是JSP生命周期中所走过的几个阶段:编译阶段:servlet容器编译servlet源文件,生成servlet类初始化......
  • AlertDialog组件的用法
    文章目录1概念介绍2使用方法3示例代码我们在上一章回中介绍了DismissibleWidget相关的内容,本章回中将介绍AlertDialogWidget.闲话休提,让我们一起TalkFlutter吧。1概念介绍我们介绍的AlertDialog是指程序中弹出的确认窗口,其实我们在上一章回中删除Lis......
  • 【VMware VCF】管理 VCF 环境中组件的用户密码。
    默认情况下,VMwareCloudFoundation使用vCenterSingleSign-On作为身份提供程序,并使用系统域作为其身份源,可以将基于LDAP和OpenLDAP的ActiveDirectory添加为vCenterSingleSign-On的身份源,也可以配置MicrosoftADFS、Okta或MicrosoftEntraID作为VMwareCloud......