HarmonyOS 进行二级请求后变量监听失效
在view中的viewmodel里进行请求后得到数据对viewmodle中变量刷新时view不会刷新。
示例场景:
class RequestData{
data1?:string = undefined
data2?:RequestData2 = undefined
}
class RequestData2{
data3?:string =undefined
data4?:RequestData3
}
class RequestData3{
data5:Array<string> = ["111", "222", "3333"]
}
class Request{
callback:(requestData:RequestData)=>void
constructor(requestData:(requestData:RequestData)=>void) {
this.callback = requestData
}
request(){
console.log("refresh1")
if (this.callback!==undefined){
console.log("refresh2")
let requestData:RequestData = JSON.parse('{"data1":"data1", "data2":{"data3":"data3", "data4":{"data5":["data1","data5"]}}}')
let requestData2:RequestData = new RequestData()
requestData2.data1 = "normal data1"
requestData2.data2 = new RequestData2()
requestData2.data2.data3 = "normal data3"
requestData2.data2.data4 = new RequestData3()
this.callback(requestData2)
}
}
}
class ViewModel{
data?:RequestData = undefined
request?:Request = new Request((requestData)=>{
this.data = requestData
console.log("refresh3")
console.log(JSON.stringify(this.data))
})
refreshData(){
this.request?.request()
}
}
@Entry
@Component
struct textRequestView{
@State @Watch("viewModelChange") viewModel:ViewModel = new ViewModel()
viewModelChange(){
console.log("refresh4")
console.log(JSON.stringify(this.viewModel.data))
}
build() {
Column(){
Text(this.viewModel.data?.data1 ?? "2333").padding(10).fontColor(Color.Black)
Text(this.viewModel.data?.data2?.data3 ?? "3222").padding(10).fontColor(Color.Black)
Text(this.viewModel.data?.data2?.data4?.data5.toString() ?? "1234").padding(10).fontColor(Color.Black)
Text(JSON.stringify(this.viewModel.data)).padding(10).fontColor(Color.Black)
Text("点击更新数据").onClick(()=>{
this.viewModel.refreshData()
}).padding(10).backgroundColor(Color.Pink)
}
}
}
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS Web如何监听二级子页面加载完成
387浏览 • 0回复 待解决
HarmonyOS 二级页面左滑关闭问题
252浏览 • 1回复 待解决
Navigation二级导航嵌套
1236浏览 • 1回复 待解决
HarmonyOS nav跳转到二级页面后,返回上一级如何刷新页面
664浏览 • 1回复 待解决
HarmonyOS 需要二级联动的demo
295浏览 • 1回复 待解决
HarmonyOS Navigation 跳转二级页面 显示异常
35浏览 • 1回复 待解决
HarmonyOS 点击tabs如何跳转到二级页面
406浏览 • 1回复 待解决
HarmonyOS 装饰器嵌套二级,列表item控件显示没有联动
14浏览 • 1回复 待解决
二级浮层的出场动画实现
747浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现一级列表点击联动二级列表?
146浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何通过滑动二级列表联动一级列表?
117浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中实现二级联动的滑动效果?
99浏览 • 1回复 待解决
HarmonyOS升级版本后音量监听失效
547浏览 • 0回复 待解决
Navigation二级导航的首个页面出现时能否设置动画
726浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何提升HarmonyOS中二级联动功能的性能?
81浏览 • 1回复 待解决
HarmonyOS 的web是不是需要给二级域名来set cookie
301浏览 • 1回复 待解决
#鸿蒙通关秘籍#实现二级联动的基础思路是什么?
128浏览 • 1回复 待解决
HarmonyOS 是否具有悬浮窗口/二级菜单悬浮窗口的组件和样例代码?
319浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现二级联动的List组件数据懒加载?
110浏览 • 0回复 待解决
为什么说二级索引不唯一,不唯一是指什么不唯一呢?
2465浏览 • 1回复 待解决
HarmonyOS 使用navigation 方式加载页面,,折叠屏全屏二级页面第一个页面不显示返回按钮
33浏览 • 1回复 待解决
@Link二级object时 该怎么写呀 如图所示 $data.object 就会报错?
391浏览 • 1回复 待解决
#鸿蒙通关秘籍#在HarmonyOS中实现二级列表滚动联动时常见的性能优化方法有哪些?
103浏览 • 0回复 待解决
网络请求后如何进行回调?
1025浏览 • 1回复 待解决
想统计一下鸿蒙卡片的日浏览量,人数,二级页面的日浏览量,人数
2浏览 • 0回复 待解决
callback 方式修改对象会丢失ViewModel的UI同步渲染效果,建议refreshData方法直接调用request对象的request方法,方法直接返回requestData2对象。