2015-11-01 55 views
0

我有一個應用程序與8個不同的路線使用$rootProvider如何在Angular if語句爲true的頁面刷新之前運行函數?

如果我在/signUp並檢測到頁面重新加載,我想檢查是否$scope.createAccView = true。如果它是真的,那麼運行一個函數。

我試過這樣做不同的方式,通過使用$routeChangeStart$routeChangeSuccess,但它沒有奏效。

主要的問題是,如果檢測到路由改變,並且如果需要在改變路由之前運行一個功能。

有人知道我該怎麼做到這一點?

+0

我不明白'在Angular中刷新頁面之前運行一個函數嗎?'爲什麼當他在SPA時,任何一個頁面都要刷新頁面? –

+0

「truthy」或「true」? –

+0

這聽起來像[XY問題](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。你可以使用範圍的銷燬事件,但它確實聽起來像你的數據應該在服務中。準確提供你想要做的更多細節 – charlietfl

回答

0

如果重新加載頁面(使用瀏覽器的「刷新」)的angularjs應用程序將重新初始化並不會檢測到任何狀態變化

0

我能解決我的問題是這樣的:

window.onunload = unloadPage; 
function unloadPage() 
{ 
    var path = $location.path(); 
    if(path === "/signUp"){ 
     Auth.$unauth(); 
    } 
}