子组件的点击事件,如何正确让父组件进行响应?

0 评论 6 浏览 0 收藏 3 分钟

本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

 

问题描述:

在 web 的 vue.js 中,可以通过 emit 将子组件的事件通知给父组件,父组件@监听 emit 的 key 值就可以处理子组件的事件响应了。
ArkTS中有类似方法吗?除了官网提供的透传方式(如下图)以外,还有别的方式可以在父组件中,处理子组件内点击事件吗?

解决方案:

以下几种方案可供参考:
方案一:楼主提到的官网中的透传方案,将父组件的事件传到子组件,即可在子组件调用,在父组件响应处理。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-faqs-V5/faqs-arkui-99-V5
方案二:使用事件订阅Emitter进行通信,不仅可以实现父子组件之间通信,还可以实现线程间通信。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/itc-with-emitter-V5
方案三:可以在子组件中用一个@Link修饰的变量标志该事件发生,父组件中用@State修饰 @Watch监听,在监听事件中响应。

参考demo、详细解决方案以及相关的讨论,请点击原帖查看:

子组件的事件,如何正确让父组件进行响应?-华为开发者问答 | 华为开发者联盟 (huawei.com)

本文由 @华为开发者联盟 授权发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!