讨论广场 问答详情
如何实现页面加载前从接口获取数据?
HarmonyOS社区小助手 2024-01-17 17:23:00
97 评论 分享
鸿蒙官网鸿蒙应用开发

如题

97 评论 分享
写回答
全部评论(1)

问题现象

页面生命周期相关问题,在页面渲染前从接口获取数据,渲染时将数据渲染到页面上。

解决措施

在声明周期函数aboutToAppear中使用异步接口获取页面数据,数据变量使用@State修饰,数据获取完成后根据变量自动刷新页面。

代码示例

@Entry 
@Component 
struct Test6Page { 
  // 数据获取成功,会自动刷新页面 
  @State message: string = 'loading.....' 
  aboutToAppear(){ 
    // 模拟异步接口获取数据 
    setTimeout(()=>{ 
      this.message = 'new msg' 
    },3000) 
  } 
  build() { 
    Row() { 
      Column() { 
        Text(this.message) 
          .fontSize(50) 
          .fontWeight(FontWeight.Bold) 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
}

 

2024-01-17 17:23:37