2016-02-11 59 views
0

我在檢測瀏覽器的後退按鈕被點擊時遇到問題。我的代碼沒有檢測到事件:如何在按下瀏覽器後退按鈕時在angularJs中重新加載頁面的當前狀態?

$rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) { 
    $rootScope.previousState = from; 
    $rootScope.previousStateParams = fromParams; 
}); 

我認爲這種情況正在發生,因爲我以前的看法是一樣的觀點。我無法弄清楚。

任何幫助表示讚賞。謝謝。

+0

有一個叫重裝$狀態的方法。 - > api ui-router $ state.reload('example.whatever');也許這可以幫助你。 – dendimiiii

+0

但是必須有一些事件產生應該發生,以便我可以調用$ stat.reload()。在我的情況下,它不會發生 – shreyansh

+0

我的意思是當我點擊後退按鈕時,我的狀態沒有變化,因爲我在相同的狀態。 – shreyansh

回答

0

事件$ stateChangeStart

$rootScope.$on('$stateChangeStart', ... 

狀態轉換開始時觸發。您可以使用 event.preventDefault()來防止發生轉換,並且 然後轉換承諾將被拒絕,並且'轉換 阻止'值。

ui router api

+0

我也試過這個,不工作,事件沒有檢測到 – shreyansh

+0

發佈你的代碼,所以可以幫助你 – innovarerz

+0

檢查你是否引用了你的索引文件中的ui-router.js,並添加'ui.router'到你的角度.module – innovarerz

相關問題