NavCtrl:在弹出页面后将页面保留在缓存中

时间:2017-04-18 12:00:31

标签: angular ionic-framework ionic2

在我的应用的主页上,我使用以下方式导航到另一个页面: this.navCtrl.push(Page2);

当我点击"返回"第2页上的按钮返回主页,然后导航回第2页,我注意到再次调用ionViewDidLoad(),这意味着Page2不再位于缓存中。

我想这是因为Page2位于堆栈顶部,然后从堆栈中删除。

有没有办法保持页面的当前状态?在第2页上,有一个进度条,我希望用户在使用后退按钮并导航回页面时能够看到进度。进度条无法重置

1 个答案:

答案 0 :(得分:1)

如你所说,这是不可能的,当你导航回视图时会被破坏。 您可以做的是创建一个包含进度条的自定义组件。

  • 您将初始化主页中的组件,因此它将位于堆栈的底部,并且只有在应用关闭时才会销毁。
  • 在你的page2中你将调用函数来初始化进度条,这个函数需要在组件中。
  • 由于Ionic在页面上堆叠页面,你需要在你的组件上使用一些css,比如position: absolute; top: 0; left: 0; width: 100%; heigth: 100%; z-index: 9999,如果你需要隐藏,只需要一个你设置为true false的布尔变量并应用css与ngClass。

如果您需要了解自定义组件的创建方式,请按照Josh Morony

的说明进行操作

希望有所帮助:)