簡體   English   中英

如何在angularjs中使用ui.router的$ stateChangeStart?

[英]How to work with ui.router's $stateChangeStart in angularjs?

在我的angularjs移動應用程序中,我需要某些要求。 最初,該應用程序位於主頁中。 如果用戶需要轉到該應用程序的下一頁,則必須單擊該特定內容。 並將它們重定向到該特定內容的下一頁。 此后,如果他要轉到上一頁(后退),則必須單擊后退按鈕。

我需要的是,當用戶返回到他所在的上一頁時,該頁面正在重新加載。 與其重新加載上一頁,不如將他帶到以前的同一個地方。 因此,如何禁用重新加載。 而且我認為可以使用'ui.router'及其$ stateChangeStart來實現。 對於url路由,我使用'$ routeProvider'。 那么如何實現這一目標呢? 請幫幫我。

對於首頁,網址為-

'/myapp/landingpage'

對於下一頁(當他單擊特定內容時),URL是-

'myapp/content/:contentId'

如果您的主頁是純靜態頁面-則不需要任何操作-主頁模板已經緩存在$ templateCache中。

否則,如果您的主頁有一些從某些服務中獲取的數據,我建議您將數據緩存在angularjs服務層本身中。

您可以瀏覽$ cacheFactory以獲得更多詳細信息。

如果您不想直接使用$ cacheFactory,則只需在$ http.get請求中使用'cahce:true'屬性:

$http.get(url, { cache: true}).success(...);

$ http docs :-

cache – {boolean | Cache} –如果為true,將使用默認的$ http緩存來緩存GET請求,否則,如果使用$ cacheFactory構建的緩存實例,則將使用此緩存進行緩存。

這個想法不是要弄亂用於緩存的視圖/狀態並將該職責移到您的服務層。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM