2016-03-08 47 views
2

「後退」按鈕時保存的搜索結果與加載從後端信息的搜索頁面的Web應用程序。當用戶搜索特定的內容時,會顯示相關數據。但是,當用戶重新加載頁面時,搜索結果將被刪除。另外,如果用戶點擊特定的搜索結果,則新頁面將加載關於此搜索的更詳細視圖。當您單擊瀏覽器的後退按鈕時,搜索結果會再次丟失。如何在刷新頁面或用戶想要返回搜索結果時保存搜索結果?我如何刷新頁面或者點擊與AngularJS

我將不勝感激基於解決方案的AngularJS,因爲這是我使用的框架。謝謝!

回答

3

您應該使用的用戶界面的路由器或ngRoute路由。看起來你不使用它,因爲你說當用戶點擊後退按鈕時,結果會丟失。如果使用了路由,那麼頁面將不會刷新,並且如果將它們保存在範圍中,結果將不會丟失。

對於刷新後永久存儲我建議使用window session storage

在您的應用程序,你可以注入$窗口服務到任何你想要你的控制器/服務或再使用它像這樣:

$window.sessionStorage["myVar"] = 'this will be here even after refresh'; 

如果用戶刷新頁面,您可以像這樣檢索變量的內容:

var myVar = $window.sessionStorage["myVar"]; 
+0

是的!謝謝。 – GuyTal

+0

我認爲這不是很有角度,帕雷什的解決方案似乎更好。 –

+0

@GrantLay我認爲這只是個人偏好,而不是角度或角度。 Peresh的答案實際上並沒有顯示任何角度。他只提供一個到圖書館的外部鏈接,但沒有說明如何使用它,特別關注這個問題。此外,問題不僅在於持久性存儲,還涉及路由,即使不是直接的。但就像我說的,答案是非常相似的,如果帕雷什提供瞭解決方案如何在這裏使用ngStorage庫,那麼是的,他的答案可能更具有角度。 –

2

您可以使用localStorage的爲。

localStorage.setItem(key,value); 

localStorage.getItem(key); 

敬請期待更先進的功能

ngStorage