相关疑难解决方法(0)

如何在Ionic 2中将数据传回我的根页?

我有一个Ionic 2应用程序.该应用程序的前提是上课.打开一个类后,用户将被标记为在远程API中使用此类.

数据流是:

  1. 用户打开"类"选项卡.
  2. 应用程序从API请求"类"数据.每个班级都为该用户保留"状态".
  3. 用户选择一个班级.这将在应用程序中打开一个新视图NavController.push(Page, { 'classes': classObjFromApi });.
  4. 堆栈中添加了几个页面,每个页面都classes传递了对象.
  5. 在最后一页上,API被告知已经获取当前类,并且用户可以使用导航回root NavController.popToRoot()

在根页面上显示每个类的状态('未启动','正在进行','已完成').在上面的流程中的第5点,用户被带回到根,但是它具有来自最初构建时的数据,这表示该类为"未启动",即使它现在已经"完成".

如何从堆栈中的其他页面更新根页面上的数据?我原以为popToRoot()会接受navParams所以我可以检查根页中是否存在该数据,如果存在则使用它,如果不存在则请求API.

我可以通过从ionViewDidEnter方法上的API重新请求数据来解决这个问题,但这意味着每次用户查看此页面时都会发出API/HTTP请求,即使应用程序具有数据.看起来很乱.

如果我能帮助它,我宁愿不使用内部存储,因为它在加载页面时会产生延迟,因为我必须等待数据在显示之前从存储中提取.

所以我的问题是:最好的方法是什么?如果要将数据传递给视图,如果popToRoot()不支持nav params ,我该怎么做?

typescript ionic-framework ionic2 ionic3 angular

6
推荐指数
1
解决办法
988
查看次数

标签 统计

angular ×1

ionic-framework ×1

ionic2 ×1

ionic3 ×1

typescript ×1