使用BuilderParam在父组件调用this的方法报错:Error message:is not callable
子组件Child中有一个@BuilderParam 参数,在父组件中使用子组件时将父组件中的builder函数传入子组件中。在builder函数中调用父组件中的方法时,出现报错Error message:is not callable。
问题代码如下:
@Component
struct Child {
@Builder FunABuilder0() {
}
@BuilderParam aBuilder0: () => void = this.FunABuilder0;
build() {
Column() {
this.aBuilder0()
}
}
}
@Entry
@Component
struct Parent {
@Builder componentBuilder() {
Text(`Parent builder `)
.onClick(()=>{
this.test1()
})
}
test1(): void {
console.log('test1')
}
build() {
Column() {
Child({ aBuilder0: this.componentBuilder })
}
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
父组件调用子组件的方法
424浏览 • 1回复 待解决
在native里面写一个获取以太网MAC地址的接口,但是报错了Error message: is not callable
1661浏览 • 1回复 待解决
冷启动报错Error message
500浏览 • 1回复 待解决
如何在父组件中调用子组件封装的方法
489浏览 • 1回复 待解决
父组件怎么方便的调用孙组件里面的方法??
540浏览 • 1回复 待解决
app启动crash报错Error message:MainPage:
507浏览 • 1回复 待解决
开源鸿蒙中 ets子组件调用父组件中的方法?
3671浏览 • 1回复 待解决
arkUI自定义组件,父组件如何获取子组件对象,调用其方法
2693浏览 • 1回复 待解决
@BuilderParam修饰的属性报错
517浏览 • 1回复 待解决
弹窗组件调用父组件函数传递
380浏览 • 1回复 待解决
父类调用子类运行报错:“ is not initialized”
594浏览 • 1回复 待解决
调用imageSource.createPixelMap()报错“Create PixelMap error”
602浏览 • 1回复 待解决
ArkTS怎么在onSelect事件中调用子组件中的方法
846浏览 • 1回复 待解决
测试在sdk的module下链接so库后调用c++的方法报错
536浏览 • 1回复 待解决
父组件与子组件使用@Link双向同步
312浏览 • 1回复 待解决
在Native侧调用ArkTS的全局普通方法
349浏览 • 1回复 待解决
事件系统eventHub,在组件中使用 eventHub.on 订阅的方法,不能访问组件的变量
485浏览 • 1回复 待解决
父子组件间点击事件,有没有方法能够控制点击事件在不同的情况触发父/子组件的点击事件
343浏览 • 1回复 待解决
自定义三方组件的属性方法能否提供给外面使用方调用,怎么让使用方调用?
448浏览 • 1回复 待解决
升级RN到4.1.0.300版本之后运行报错Error message:Cannot read property isDebugModeEnabled of undefined
448浏览 • 1回复 待解决
web组件的controller被注册jsbridge的类对象引用后,导致在类对象方法内部调用h5方法时方法卡死
432浏览 • 1回复 待解决
华为登录报错{"code":1001502009,"message":"parameter invalid"}
365浏览 • 1回复 待解决
在HAP中调用createModuleContext方法获取的Context是什么层级
518浏览 • 1回复 待解决
在js中调用this时需要注意this的指向。当前代码在子组件中声明builder方法时,this指向的是父组件,而@Builder componentBuilder()通过this.componentBuilder的形式传给子组件@BuilderParam customBuilderParam,this指向在Child的label,即“Child”,所以在点击事件响应的时候,this是指向Child而child中没有test()所以出现jscrash。需要在父组件中声明子组件时通过bind(this)或者监听函数将this传递到子组件。
参考代码:
注意事项:
js中在将方法进行传递时,如果方法中有使用this,需要注意this的传递,类似的场景在自定义弹窗的builder方法中也容易出现。