Array内容监听问题,点击某个按钮,对VM中的数组执行push操作,不会触发监听,但是变更其他值就能触发监听

点击某个按钮,对VM中的数组执行push操作,不会触发监听,但是变更其他值就能触发监听。


HarmonyOS
2024-10-09 11:29:34
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

请参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-state-V5

当装饰的数据类型为class或者Object时,可以观察到自身的赋值的变化,和其属性赋值的变化,即Object.keys(observedObject)返回的所有属性

可以尝试:

class DemoViewModel {  
  testArr: string[] = []  
  num: number = 0  
  
  function1() {  
    console.log(JSON.stringify(Object.keys(this.testArr)))  
    this.testArr.push("6")  
  }  
  
  function2() {  
    this.testArr = [...this.testArr, "6"]  
  }  
}  
Button("按钮一")  
  .onClick(() => {  
    this.viewModel.testArr = ["999", "888"]  
  })
分享
微博
QQ
微信
回复
2024-10-09 17:29:18
相关问题
HarmonyOS 数组监听问题
886浏览 • 1回复 待解决
HarmonyOS 如何监听截屏事件触发
1332浏览 • 1回复 待解决
HarmonyOS 位置权限变更监听回调问题
1201浏览 • 1回复 待解决
HarmonyOS 点击事件监听问题
1069浏览 • 1回复 待解决
数组中元素变更如何触发刷新list?
1094浏览 • 1回复 待解决
HarmonyOS 组件@State最小化build监听VM
1230浏览 • 1回复 待解决
HarmonyOS 分段按钮监听事件
1701浏览 • 1回复 待解决
HarmonyOS 如何监听某个变量是否变化
1051浏览 • 1回复 待解决