HarmonyOS使用@Objectlink和 @watchs 如何只监听对象一个属性的变化
@Component
export struct TestView{
@ObjectLink @Watch("updateViewModel") viewModel:PlayFlowViewModel
updateViewModel(){
console.log("TestView updateViewModel")
}
}
@Observer
export class PlayFlowViewModel{
playBaseData:PlayBaseData | null = null
option: Options = new Options()
datasource:DataSource = new DataSource()
playEvent:ReceiverEvent = {event:0,bundle:null}
}
场景是视频播放场景,包含播放器的组件里面,需要响应外界的播放器控制消息,例如暂停,Seek等消息。目前设计的方案是想把这些消息和一些播放数据 都统一放到一个model里面便于管理。但是现在发现PlayFlowViewModel中,只要一个属性更新,整个viewmodel的watchs函数都会被触发。目前想只监听一个属性的变化,不知道有没有好的方案。
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
如何监听数组内对象属性变化
2255浏览 • 1回复 待解决
如何实现一个监听网络变化的方法
492浏览 • 1回复 待解决
使用@Observed/@ObjectLink监听多层状态的变化
1096浏览 • 1回复 待解决
HarmonyOS 使用ObjectLink观察对象中的数组,修改数组长度,监听不到数据变化
356浏览 • 1回复 待解决
HarmonyOS 一个组件怎么监听另一个组件属性改变
276浏览 • 1回复 待解决
HarmonyOS使用ObjectLink Observed 无法监听到嵌套类的属性更新
282浏览 • 1回复 待解决
如何监听页面page的变化。 增加和删除。有一个位置可以抓到这些变化的状态。
580浏览 • 1回复 待解决
HarmonyOS 如何监听数组元素属性的变化?
261浏览 • 1回复 待解决
HarmonyOS通过router页面跳转,如何在一个统一的地方进行监听栈的变化?
303浏览 • 1回复 待解决
#鸿蒙学习大百科#如何删除分布式对象的属性变化的监听?
172浏览 • 1回复 待解决
HarmonyOS 对象A数组,对象A中又嵌套一个对象B数组,修改B中的属性UI,不刷新
339浏览 • 1回复 待解决
不使用弹窗,通过 stack 和属性显隐模拟一个弹窗
667浏览 • 1回复 待解决
如何定义一个未知类型的对象
727浏览 • 2回复 待解决
HarmonyOS ObjectLink修饰符对象的属性改变不能引起UI刷新
363浏览 • 1回复 待解决
PersistentStorage如何持久化一个对象?
2739浏览 • 1回复 待解决
Observe和ObjectLink 使用
198浏览 • 1回复 待解决
HarmonyOS @Watch装饰器,能见听到对象属性的变化吗?
166浏览 • 1回复 待解决
有没有分开监听同一个类中不同属性的方法?
639浏览 • 1回复 待解决
如何判断一个对象是否在对象数组中
2258浏览 • 1回复 待解决
页面上存在多个video组件,如何控制各自的播放和停播,在只使用一个controller的情况下
1707浏览 • 1回复 待解决
使用广告数组展示多个广告,为什么只展示一个广告?
410浏览 • 2回复 待解决
EntryAbility中的context和getContext(this)是同一个对象吗
1467浏览 • 1回复 待解决
定义一个类,怎么在新建这个类的时候,只赋值这个类中某几个属性
1605浏览 • 1回复 待解决
如何判断一个对象实现了某个接口
1201浏览 • 1回复 待解决
如何在Native侧构建一个ArkTS对象
2028浏览 • 1回复 待解决
使用@Watch监听的对象,只能监听一层数据变化,多层次数据变更无法监听,同@State状态管理机制一致,规避方式为把整体更换数据源改为更新item中的属性值,然后用@ObjectLink和@Observed来监听item的变化。参考以下链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-V5