【发布时间】:2017-01-12 05:35:07
【问题描述】:
我有一个 ionic2 应用程序,其中有几页。单击第一页中的按钮时,我导航到第二页并在 ionViewDidLoad(第二页)上,我正在调用数据服务并将数据呈现在列表中。 接下来,当我通过单击顶部的返回按钮向后导航时,我会转到第一页。现在再次,如果我单击第一页中的按钮,我会导航到第二页。但是,在这种情况下,再次进行服务调用,这意味着再次触发 ionViewDidLoad(这是我想要避免的)
如何保留第二个视图的先前状态?我没有使用 setRoot。我正在使用导航器的推送和弹出。
【问题讨论】:
-
您可以共享一个服务,您可以在其中保留数据并避免两次调用您的 web api。使服务成为单例实例(将其作为提供者添加到主模块中),您将始终拥有相同的数据。
-
你能在第二页添加
ionViewWillUnload钩子并在那里记录一些东西吗?我很好奇你离开第二页后是否会调用它。 -
Andreas,是的,它每次都会破坏并创建新实例。 ionViewWillUnload 也会被触发。