HarmonyOS 标注的viewModel应该怎么设计,可以达到响应式

开发架构新增一层viewmodel,页面是这样使用的。

@State userInfo: IMUserInfo | null = this.viewModel.userInfo

但是userInfo并没有达到刷新页面的效果,请问应该如何设计?

HarmonyOS
2024-08-30 10:36:45
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

可参考以下文档:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-observed-and-objectlink-V5

还有另外一种方法,类似你写的,再定义一个@State修饰的变量,userInfo.name变化后,但是需要再赋值给这个变量,这样UI才可以监听到变量值的变化。

struct Index { 
 @State viewModule: MyViewModule = new MyViewModule(); 
 @State newName: string = ‘’; 
 build() { 
  Row() { 
   Column() { 
    Text(${this.newName}) 
    .fontSize(50) 
     .fontWeight(FontWeight.Bold) 
    Button(‘change name’) 
    .onClick(() => { 
     this.viewModule.userInfo.name = “aaa”; 
     this.newName = this.viewModule.userInfo.name; 
     hilog.info(0x0000, ‘testTag’, ‘name = %{public}s’, this.viewModule.userInfo.name); 
    }) 
   } 
  } 
  .height(‘100%’) 
 } 
}
分享
微博
QQ
微信
回复
2024-08-30 20:13:05
相关问题
ArkUl中如何实现响应设计?
196浏览 • 0回复 待解决
组合索引应该如何设计
2495浏览 • 1回复 待解决
应该如何设计大量线程并发方案
2041浏览 • 1回复 待解决
应用分类应该怎么选择?
5023浏览 • 2回复 待解决
repo连不上应该怎么解决
7849浏览 • 1回复 待解决
HarmonyOS viewmodel如何与ui同步
486浏览 • 1回复 待解决
HarmonyOS 关于怎么还原设计图问题?
288浏览 • 1回复 待解决