2017-04-18 81 views
0

後在我的應用程序的主頁,我導航到另一個頁面使用: this.navCtrl.push(Page2);NavCtrl:保持頁面緩存它彈出

當我點擊第二頁的「後退」按鈕返回到主頁,然後回到Page2,我注意到ionViewDidLoad()被再次調用,這意味着Page2不再處於緩存中。

我想這是因爲Page2位於堆棧頂部,然後從堆棧中刪除。

有沒有辦法保持頁面的當前狀態?在第2頁上,有一個進度條,我希望用戶在使用後退按鈕並導航回頁面時能夠看到進度。進度條無法重置

+0

你可以保存進度條的狀態,單獨服務也許 –

回答

1

這是不可能的,因爲你已經說過,當你回到視圖被銷燬時。 你可以做的是創建一個自定義組件,它將保存進度條。

  • 你會初始化主頁的組件,因此它會在堆棧的底部,如果應用程序關閉纔會被破壞。
  • 在你的page2中你會調用函數來初始化進度條,這個函數需要在組件中。
  • 由於Ionic在頁面上堆疊頁面,因此您需要在組件上使用一些css,如position: absolute; top: 0; left: 0; width: 100%; heigth: 100%; z-index: 9999,如果需要隱藏,只需將布爾變量設置爲true false並將css應用於ngClass即可。

如果您需要了解如何創建自定義組件,請按照本教程由Josh Morony

希望它能幫助:)