HarmonyOS鸿蒙Next中Prop的传递
HarmonyOS鸿蒙Next中Prop的传递
StrategyCard中需要一个[@Prop](/user/Prop) feedArticle: FeedArticle
,但是ForEach拿到的item不是@Prop或者@State
虽然编译没有问题,但是会一直打印
[@Prop (class SynchedPropertyOneWayPU) ‘feedArticle’[3074] <@Component ‘StrategyCard’[3073]>: Provided source object’s class is not instance of SubscribableAbstract,]
我应该怎么优化写法?
更多关于HarmonyOS鸿蒙Next中Prop的传递的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
可能是由于缺少’@Observed’ 类装饰器,对象属性的更改将不会被观察到,因此引发了应用程序错误。
是给FeedArticle这个类加@Observed,文档参考:[@Observed装饰器和@ObjectLink装饰器:嵌套类对象属性变化-管理组件拥有的状态-状态管理(V1)-状态管理-学习ArkTS语言-入门 - 华为HarmonyOS开发者](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V13/arkts-observed-and-objectlink-V13#概述)
更多关于HarmonyOS鸿蒙Next中Prop的传递的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next中,Prop的传递是通过组件间的属性绑定实现的。开发者可以在父组件中定义Prop,并将其传递给子组件。子组件通过接收Prop来获取数据或配置信息。Prop的传递是单向的,即数据只能从父组件流向子组件。在子组件中,Prop通常是只读的,不能直接修改。如果需要修改Prop的值,可以通过事件机制通知父组件进行更新。Prop的传递机制有助于保持组件的独立性和可复用性,同时实现了组件间的数据共享和通信。
在HarmonyOS鸿蒙Next中,Prop的传递通常用于组件间的数据通信。在父组件中,可以通过属性绑定的方式将数据传递给子组件。例如,<ChildComponent propName={value} />
,其中propName
是子组件中定义的属性,value
是父组件中的数据。子组件通过@Prop
装饰器接收数据,如@Prop propName: string;
。这样,父组件的数据变化会自动更新到子组件中,实现单向数据流。