2016-10-07 40 views
-2

我正在使用AngujarJS 1.5開發單頁應用程序項目。爲什麼我不能在控制器中獲得先前的url?

在我的控制器中的某個位置,我需要獲取以前的URL。

我試圖用這個代碼來獲取前網址:

var prevUrl = $document[0].referrer; 

這:

var prevUrl2 = document.referrer; 

但​​和prevUrl2總是空的。

當我使用此代碼回去:

$window.history.back(); 

它工作正常。

由於Umakant鬃毛建議:

我嘗試這樣做:

dashboard.run(["$rootScope", 
    function($rootScope) { 
     $rootScope.$on('routeChangeStart', function (evt, absNewUrl, absOldUrl) { 
      //routeHistory.push({ route: from, routeParams: fromParams }); 
      console.log('success', absOldUrl.templateUrl); 
    }); 
}]) 

我期望能獲得控制檯消息,但我沒有得到任何消息。

任何想法爲什麼​​和prevUrl2是空的?

+0

$ routeChangeStart –

回答

0
App.run(function($rootScope) { 
$rootScope.$on('$routeChangeStart', function(evt, absNewUrl, absOldUrl) { 
     console.log('success', absOldUrl.templateUrl); 

    }); 
}); 

    Register this function in main index.js file where you register your angular app and assign this result to one global variable and use it 
    Hope this may helps. 
+0

如何在控制器中使用它? – Michael

+0

將它設置在$ rootScope.previousUrl上,然後可以在控制器的$ scope中使用,或者只在rootcope中寫入goBack函數,因此可以在任何地方使用 –

+0

我有更新ans,請檢查它 –

相關問題