HarmonyOS 鸿蒙Next @BuilderParam 使用尾随闭包和不使用尾随闭包

发布于 1周前 作者 caililin 来自 鸿蒙OS

HarmonyOS 鸿蒙Next @BuilderParam 使用尾随闭包和不使用尾随闭包

@BuilderParam 没有使用尾随闭包的时候,传递@Builder布局可以正常显示出来.但是有this指向的问题

ListPage({ listItem: this.orderListItem })

当使用闭包的时候布局就不显示

ListPage({ listItem: ()=>{this.orderListItem}})

@Builder
orderListItem($$: OrderData){}

ListPage

@BuilderParam listItem: ($$: EasyData) => void

2 回复
已经解决,把需要使用this地方抽取到单独的文件方法中就没有this指向问题了

在HarmonyOS鸿蒙开发中,@BuilderParam注解用于简化复杂对象的构建过程,它允许通过链式调用或者尾随闭包的方式来设置对象的属性。

使用尾随闭包

尾随闭包是一种简洁的构建对象属性的方式,它允许在方法调用的末尾直接传入一个闭包(lambda表达式或匿名函数),在该闭包内部设置对象的属性。这种方式代码更加紧凑,特别是在属性较多时,可以减少代码嵌套,提高可读性。

示例:

val myObject = MyObject.builder() {
    this.property1 = "value1"
    this.property2 = "value2"
}.build()

不使用尾随闭包

不使用尾随闭包时,你需要通过链式调用的方式来设置对象的属性,这种方式相对冗长,特别是在属性较多或需要多次调用设置方法时,代码可读性较差。

示例:

val myObject = MyObject.builder()
    .setProperty1("value1")
    .setProperty2("value2")
    .build()

两种方式各有优劣,选择哪种方式取决于你的具体需求和代码风格偏好。如果项目中对代码简洁性和可读性要求较高,推荐使用尾随闭包。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部