HarmonyOS eventhub修改model后,不触发页面更新

在页面中直接调用Model的方法更新Model中的数据,页面会刷新,但是在Model中的eventhub接收到事件后更新Model中的数据,数据会更新,但页面不刷新

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

constructor是类内部的操作,这个时候代理对象没生成,@Observed没法观察。在状态管理中,使用@Observed装饰类后,会给该类使用一层“代理”进行包装。当在组件中改变该类的成员变量时,会被该代理进行拦截,在更改数据源中值的同时,也会将变化通知给绑定的组件,从而实现观测变化与触发刷新。当开发者在类的构造函数中对成员变量进行赋值或者修改时,此修改不会经过代理(因为是直接对数据源中的值进行修改),也就无法被观测到。所以,如果开发者在类的构造函数中使用定时器修改类中的成员变量,即使该修改成功执行了,也不会触发UI的刷新。参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-V5#在observed装饰类的构造函数中延时更改成员变量

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 页面更新
23浏览 • 1回复 待解决
返回页面触发aboutToAppear
3627浏览 • 1回复 待解决
HarmonyOS TabContent页面生命周期触发
403浏览 • 1回复 待解决
HarmonyOS 生命周期触发
47浏览 • 1回复 待解决
创建的单例换了页面生效问题
2202浏览 • 3回复 待解决
HarmonyOS 修改状态栏颜色生效
311浏览 • 1回复 待解决
HarmonyOS eventHub使用问题
18浏览 • 1回复 待解决
HarmonyOS eventHub创建方式咨询
167浏览 • 1回复 待解决