上一个页面中

                           .onClick(() => {
                              // 跳转到疫苗详情页,并传递疫苗id
                              const param: VaccineId = {
                                vaccineId: vaccine.id
                              }
                              this.pathStack.pushPath({
                                name: 'VaccineDetail',
                                param:param,
                                onPop:(info:PopInfo) => {
                                    // 获取下一页返回的数据
                                    console.log(info)
                                }
                              },false);
                            });

当前页面中

NavDestination(){
    Column{
         Text(this.currentVaccine.prevent)
                .width('60%')
                .fontSize(12)
                .onClick(() => {
                  // 可以在此将上一页需要的数据返回
                  this.pathStack.pop('我是从你的下一页来的~')
                })
    }
}
.onReady((content) => {
      this.pathStack = content.pathStack;
       // 从content.pathInfo中获取 
      this.params = content.pathInfo.param as VaccineId

      console.log(this.params.toString())
    })
.onShown(() => {
      // this.params在aboutToAppear生命周期函数中获取时的值是未从路径参数中获取前的值
      // 只有在onShown中才是已经更新之后的 所以要做什么条件判断要在这 或者直接在onReady中
      if (this.params) {
        this.fetchDiaryDetail();
      }
})

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐