HarmonyOS 鸿蒙Next ObjectLink 与父组件 传值报错

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

HarmonyOS 鸿蒙Next ObjectLink 与父组件 传值报错

这是用对象 包裹一个数组,数组需要保留各个属性好像只能这样吧 ?

 

这是父布局,日志打印正常有值

在子控件这边的   21行   属性问题,打印容器数组长度是对的,就是具体bean 的参数无法取。

Error message:Cannot read property img of undefined

Stacktrace:

    at aboutToAppear (app/src/main/ets/view/LineChartHourView.ets:21:63)



关于HarmonyOS 鸿蒙Next ObjectLink 与父组件 传值报错的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。

5 回复
请问楼主问题是否解决
你这个数组的逻辑很奇怪啊,你是想创造一个类型为你自己observed的数组嘛,你实际上只要super一下就行了,根本不需要你自己在存储一次,你这不就变成存了两个?

@Observed export class WeatherHourItems extends Array<HourlyForecastBean> { hourly_forecast: HourlyForecastBean[]; constructor(hourly_forecast: HourlyForecastBean[]) { super(); this.hourly_forecast = hourly_forecast; }

}

是指这段代码吗 ? 这个是编译器提示的构造器, 这边不管是去掉 super() ,还是 this.hourly_forecast = hourly_forecast; 都会报错

…,有没有一种可能,你需要把你的hourly_forecast去掉。 你继承的是列表类,列表是什么,是weatherHourItems[0]就能访问你的正常存储。你现在这种写法,你继承或者不继承根本没影响,因为你不是访问 weatherHourItems[0],而是在访问它上面的一个你自己新增的属性,而不是array本身自带的属性

查到问题,是aboutToAppear() 写在这个方法里,是还没取到值,onpageshow 就正常了。用继承是因为之前直接传数组,好像 Observed 属性拿不到。

回到顶部