登录社区云,与社区用户共同成长
邀请您加入社区
天然支持组合模式,@State@Observed实现了框架级观察者模式,@Component的组件化思想与装饰器模式高度契合。开发者需要做的不是生搬硬套 GoF 的 23 种模式,而是理解每种模式要解决的核心问题,并结合 ArkTS 的语言特性进行本土化改造。本文介绍的六种核心模式——组合、观察者、策略、工厂、单例、装饰器——覆盖了 ArkUI 开发中 80% 的架构设计场景。掌握它们的正确用法,
本文系统介绍了鸿蒙开发中组件复用的五种类型及其实现方法,旨在提升应用性能: 标准型:完全相同的组件布局,直接使用@Reusable装饰器 有限变化型:布局差异但业务逻辑不同的情况,建议使用不同自定义组件或设置不同reuseId 组合型:布局差异大但有共同子组件的情况,采用@Builder函数实现内部复用 全局型:跨父组件复用场景,使用BuilderNode构建全局复用池 嵌套型:通过化归思想转化为
本文深入探讨鸿蒙开发中的关键装饰器@Observed和@ObjectLink,用于解决多层嵌套对象的数据同步问题。@Observed装饰的类可被观察到属性变化,@ObjectLink则用于子组件接收实例并与父组件建立双向绑定。文章详细说明了两者的使用限制、装饰器说明、变量传递规则,并通过实例演示了如何观察嵌套对象和数组的变化。特别指出继承Date类时的特殊处理方式,为开发者提供了鸿蒙应用开发中复杂
这篇文章介绍了鸿蒙开发中的stateStyles(多态样式)功能,主要包括:1.stateStyles可根据UI组件状态(如focused、pressed等)动态设置样式;2.提供了基础使用示例,展示不同状态下按钮样式的变化;3.说明了如何结合@Styles复用样式代码;4.演示了如何在stateStyles中使用常规变量和状态变量。文章还附带多个动态效果图,直观呈现样式变化效果,并通过代码示例详
本文介绍了鸿蒙开发中的@Styles装饰器,该功能用于提炼公共样式以提升代码复用性。@Styles支持全局或组件内定义,可封装通用属性和事件,组件内样式优先级更高。文章通过代码示例展示了@Styles的实际应用场景,包括状态变量的动态修改。
自定义组件中的变量被状态装饰器(@State,@Prop等)装饰后成为状态变量,而状态变量的改变会引起使用该变量的UI组件渲染刷新。状态变量的不合理使用可能会带来冗余刷新等性能问题。开发者可以使用状态变量组件定位工具获取状态管理相关信息,例如自定义组件拥有的状态变量、状态变量的同步对象和关联组件等,了解状态变量影响UI的范围,写出高性能应用代码。本文将通过场景示例为开发者提供状态变量组件定位工具的
本文介绍了HarmonyOS开发中的全局@Builder与wrapBuilder功能。主要包含: wrapBuilder模板函数的使用方法,它可以包装全局@Builder方法,返回可传递的WrappedBuilder对象; 两个典型使用场景: 将wrapBuilder赋值给变量,替代直接使用@Builder方法; 通过wrapBuilder数组实现不同@Builder方法的动态调用; 使用限制:只
/ 具体装饰器类 A。// 具体装饰器类 B。
本示例介绍通过自定义装饰器在自定义组件中自动添加 inspector (布局回调) 方法并进行调用。
本示例介绍利用 上传下载 模块和 注册自定义字体 模块实现从网络上下载字体并注册应用字体的功能,该场景多用于由特殊字体要求的场景。
@Link装饰器的核心特性:支持父子组件双向数据绑定,适用于Object、class等复杂类型,同步机制包含属性赋值、数组操作等变化。技术文档详细说明了@Link的装饰规则、变量传递限制及观察变化行为,并通过Date组件案例演示了日期数据的双向同步实现。
本文介绍了鸿蒙开发中ForEach组件的关键用法和实现原理。ForEach接口基于数组数据循环渲染组件,需配合容器使用,支持自定义键值生成规则,在ArkTS卡片中可用。文章详细解析了键值生成机制、组件创建规则(首次/非首次渲染差异)并通过代码示例演示不同场景下的渲染效果。特别说明当数组项键值重复时框架的默认行为,帮助开发者理解如何优化鸿蒙应用性能
摘要 本文介绍了HarmonyOS中的PersistentStorage持久化存储机制,它可以将AppStorage中的选定属性持久化到设备磁盘,确保应用重启后数据不丢失。文章详细阐述了PersistentStorage的特性、限制条件和使用场景,包括支持的存储类型、容量限制以及最佳实践建议。通过示例代码展示了如何正确使用PersistentStorage与AppStorage进行数据同步,并特别
摘要 本文介绍了鸿蒙开发中的LocalStorage状态管理机制,作为页面级UI状态存储解决方案。文章详细解析了@LocalStorageProp和@LocalStorageLink两种装饰器的使用场景、限制条件和实现原理: 核心概念:LocalStorage是构建页面级别状态变量的内存"数据库",支持页面内和跨页面/UIAbility共享数据。 装饰器对比: @LocalSt
本文介绍了鸿蒙开发中@Provide和@Consume装饰器的使用,它们可以实现跨层级的双向数据同步。@Provide用于在祖先组件中提供状态变量,@Consume用于在后代组件中消费这些变量。两者可以通过相同变量名或别名绑定,支持多种数据类型,但要求类型必须相同。文章详细说明了装饰器的参数规则、同步类型、变量类型要求及初始值设置,并提供了变量的传递/访问规则图示。该特性从API9开始支持,可简化
本文详细介绍了鸿蒙系统中的@State装饰器,它是ArkUI框架中的基础状态管理装饰器。@State装饰的变量具有以下特点: 与组件渲染绑定,状态变化会触发UI更新 支持与子组件的@Prop建立单向数据同步,与@Link/@ObjectLink建立双向同步 生命周期与所属组件相同 文章说明了@State装饰器的使用规则: 支持多种数据类型,包括Object、class、基本类型及其数组 API11
本文介绍了HarmonyOS开发中@Require装饰器的使用方法和限制条件。@Require需与@Prop、@State、@Provide、@BuilderParam等装饰器结合使用,强制要求这些变量在组件构造时必须传参。文章通过正反示例展示了其应用场景:正确使用时父组件需传值,否则会导致编译错误。该功能从API 11开始逐步支持不同变量类型的校验,为开发提供更严格的参数检查机制。
这里整理了一份《鸿蒙零基础入门学习指南》,希望能对那些想要学习鸿蒙,但是有没有方向的人提供一点帮助。本文档适用于HarmonyOS应用开发的初学者(由于文档内容过多,因此为了避免影响到大家的阅读体验,在此只以截图展示部分内容,详细完整版的看文末有免费的获取方式!