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
相关问题
数组中元素变更如何触发刷新list?
207浏览 • 1回复 待解决
HarmonyOS 组件@State最小化build监听VM
168浏览 • 1回复 待解决
HarmonyOS 分段按钮监听事件
336浏览 • 1回复 待解决
如何实现LocalStorage实时监听
386浏览 • 1回复 待解决
如何监听数组内对象属性变化
2239浏览 • 1回复 待解决
通知栏点击事件监听方法
280浏览 • 1回复 待解决
HarmonyOS网络监听问题
210浏览 • 1回复 待解决
如何监听判断VPN类型网络
321浏览 • 1回复 待解决
富文本扩展点击监听返回url
716浏览 • 1回复 待解决
HarmonyOS 键盘事件监听问题
383浏览 • 1回复 待解决
如何监听输入法输入内容变化?
277浏览 • 1回复 待解决