前言本文代码案例基于Api13。随着官方的迭代,在新的Api中,对于新的应用开发,官方已经建议直接使用V2所属的装饰器进行开发了,所以,能上手V2的尽量上手V2吧,毕竟,V2是V1的增强版本,为开发者提供更多功能和灵活性,由V1升成V2,肯定是大势所趋;但是,毕竟V1有着大量的应用基础,使用的也非常广泛,如果V1版本的功能和性能已能满足需求,其实也不用切换,总之就一句话:新的应用尽量使用V2,老的应用,如果V1满足可以不切...
前言代码案例基于Api13。在前边的文章中,关于wrapBuilder传递参数我们有过概述,无论是定义在局部还是全局,传递参数都是非常的简单,直接调用builder函数即可,简单案例如下所示:BuilderfunctionTextView(value:string){Text(value)}EntryComponentstructIndex{textBuilder:WrappedBuilder<[string]>wrapBuilder(TextView)build(){Column(){this.textBuilder.builder("我是传递的参数")}.width("100%").height("100%").j...
前言本文代码案例基于Api13。AOP,也就是AspectOrientedProgramming,它是一种编程范式,旨在通过分离横切关注点来提高代码的模块化,将一些常见的关注点,比如日志记录、事务管理、安全控制等从核心业务逻辑中分离出来,使代码更易维护和扩展。提到AOP,大家最常见的就是日志的记录,AOP可以在不修改原有业务代码的情况下,通过代码插桩的方式,为应用程序添加日志记录功能;当然了,除了日志记录功能,相信大家肯定见过很多的...
前言本文代码案例基于Api13。Builder装饰器,可以把build函数中的组件代码,单独的抽取出来,虽然简化了build函数,实现了组件之间的复用,但是代码还是在整个UI视图内,如下案例所示:EntryComponentstructIndex{BuilderTextView(text:string){Text(text)}build(){Column(){this.TextView("测试数据1")this.TextView("测试数据2")}.height('100%').width('100%').justifyContent(FlexAlign.Center)}}只能说,在同一个UI视...
前言本文基于Api13。如果说一个页面中组件有很多,我们都统一写到build函数中,显而易见,会导致build函数代码非常冗余,并且在有相同UI时,也做不到可复用效果,那么,针对这一问题如何解决呢?答案就是抽取出来;在页面内实现UI组件的抽取剥离,其实,在实际的开发中是非常常见的,也就是通过Builder装饰器来实现。简单案例以下是一个多文本展示案例,非常简单,就是几个Text组件,未抽取之前,都统一写在build函数之中。Entr...