diff options
| author | quazzie | 2013-03-22 10:35:50 +0100 |
|---|---|---|
| committer | Pete Bacon Darwin | 2013-05-01 14:42:10 +0100 |
| commit | dc9a580617a838b63cbf5feae362b6f9cf5ed986 (patch) | |
| tree | 5ccc531294e2039425acd9627d28ef09c4ff59d1 /src/ng | |
| parent | 660605bdb834bbbb31529b86f5b870c5861ff497 (diff) | |
| download | angular.js-dc9a580617a838b63cbf5feae362b6f9cf5ed986.tar.bz2 | |
fix($location): back-button should fire $locationChangeStart
Before $locationChangeStart event is not broadcast when pressing the back-button on the browser.
Closes #2109
Diffstat (limited to 'src/ng')
| -rw-r--r-- | src/ng/location.js | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ng/location.js b/src/ng/location.js index 9a5a68ba..b6d14e1a 100644 --- a/src/ng/location.js +++ b/src/ng/location.js @@ -546,6 +546,10 @@ function $LocationProvider(){ // update $location when $browser url changes $browser.onUrlChange(function(newUrl) { if ($location.absUrl() != newUrl) { + if ($rootScope.$broadcast('$locationChangeStart', newUrl, $location.absUrl()).defaultPrevented) { + $browser.url($location.absUrl()); + return; + } $rootScope.$evalAsync(function() { var oldUrl = $location.absUrl(); |
