Small refactor in $location service

Added new inner method updateLastLocation()
This commit is contained in:
Vojta Jina 2010-10-31 02:14:55 +02:00 committed by Igor Minar
parent 99f25050a3
commit 2d61040fb0

View file

@ -23,8 +23,7 @@ angularServiceInject("$location", function(browser) {
browser.addPollFn(function() {
if (lastBrowserUrl != browser.getUrl()) {
update(lastBrowserUrl = browser.getUrl());
lastLocationHref = location.href;
lastLocationHash = location.hash;
updateLastLocation();
scope.$eval();
}
});
@ -33,8 +32,7 @@ angularServiceInject("$location", function(browser) {
this.$onEval(PRIORITY_LAST, updateBrowser);
update(lastBrowserUrl);
lastLocationHref = location.href;
lastLocationHash = location.hash;
updateLastLocation();
return location;
@ -134,6 +132,14 @@ angularServiceInject("$location", function(browser) {
update(location.href);
}
/**
* Update information about last location
*/
function updateLastLocation() {
lastLocationHref = location.href;
lastLocationHash = location.hash;
}
/**
* If location has changed, update the browser
* This method is called at the end of $eval() phase
@ -143,8 +149,7 @@ angularServiceInject("$location", function(browser) {
if (location.href != lastLocationHref) {
browser.setUrl(lastBrowserUrl = location.href);
lastLocationHref = location.href;
lastLocationHash = location.hash;
updateLastLocation();
}
}