为什么自定义组件声明 @Link @Prop 的属性必须外层配置呢?

为什么自定义组件声明 @Link @Prop 的属性必须外层配置?而且@Link还不能设置默认初值?

直接把他们与上层组件相关的同步行为作为一个可选项不会更理想么?比如:** 配置:保持当下的组件间同步功能** 不配置:就当做一个 @State@Link 声明的属性在对应的组件中也没有禁用相关的赋值操作啊,为啥初值就不让设置呢?

HarmonyOS
2024-09-23 13:57:56
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

(1)对于子组件中被@Prop修饰的变量,是可以设置默认值的,可参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-prop-V5

(2)@Link是通过指针引用的传递方式,进行传递,因此子组件是不允许设置默认值的,必须父组件携带参数才行,具体可参考@Link使用文档,链接如下:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-link-V5

(3)如果要实现类似类似于@State和@Link的双向同步,不想用父组件引用传递的变量,可以用@Provide和@Consume装饰器,在父组件中用@Provide装饰,在孙子组件中采用@Consume装饰,就可以实现双向数据同步,使用这两个装饰器的时候不需要在父组件中传递参数,具体使用可参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-provide-and-consume-V5

分享
微博
QQ
微信
回复
2024-09-23 17:46:58
相关问题
自定义组件是否支持renderFit属性
1836浏览 • 1回复 待解决
什么自定义组件?都有什么特点?
370浏览 • 1回复 待解决
如何自定义Component 属性
15016浏览 • 3回复 待解决
@Prop 为什么不能提供默认值啊?
2085浏览 • 1回复 待解决
自定义组件什么时候销毁
1904浏览 • 1回复 待解决
HarmonyOS 应用名称如何自定义配置
154浏览 • 0回复 待解决
HarmonyOS 应用名称如何自定义配置
150浏览 • 1回复 待解决
自定义配置参数设定有会吗?
1856浏览 • 1回复 待解决