diff options
| author | Jeff Cross | 2013-11-05 23:53:00 -0800 | 
|---|---|---|
| committer | Jeff Cross | 2013-11-06 00:14:11 -0800 | 
| commit | da344daa4023556f8abbef6d8ad87a16362b5861 (patch) | |
| tree | c4c1bac9c45a1cb7762c5bd625c2808c22b967c7 /src/ngRoute/directive | |
| parent | 6fb191570ee72f087e8bb6b1d8f5eea0f585886c (diff) | |
| download | angular.js-da344daa4023556f8abbef6d8ad87a16362b5861.tar.bz2 | |
fix(ngView): only run anchorScroll after animation is done
Diffstat (limited to 'src/ngRoute/directive')
| -rw-r--r-- | src/ngRoute/directive/ngView.js | 11 | 
1 files changed, 7 insertions, 4 deletions
| diff --git a/src/ngRoute/directive/ngView.js b/src/ngRoute/directive/ngView.js index 00e047ca..a8a136df 100644 --- a/src/ngRoute/directive/ngView.js +++ b/src/ngRoute/directive/ngView.js @@ -177,6 +177,7 @@ function ngViewFactory(   $route,   $anchorScroll,   $compile,   $controller,        return function(scope, $element, attr) {          var currentScope,              currentElement, +            autoScrollExp = attr.autoscroll,              onloadExp = attr.onload || '';          scope.$on('$routeChangeSuccess', update); @@ -201,7 +202,12 @@ function ngViewFactory(   $route,   $anchorScroll,   $compile,   $controller,              var newScope = scope.$new();              linker(newScope, function(clone) {                clone.html(template); -              $animate.enter(clone, null, currentElement || $element); +              $animate.enter(clone, null, currentElement || $element, function onNgViewEnter () { +                if (angular.isDefined(autoScrollExp) +                  && (!autoScrollExp || scope.$eval(autoScrollExp))) { +                  $anchorScroll(); +                } +              });                cleanupLastView(); @@ -224,9 +230,6 @@ function ngViewFactory(   $route,   $anchorScroll,   $compile,   $controller,                link(currentScope);                currentScope.$emit('$viewContentLoaded');                currentScope.$eval(onloadExp); - -              // $anchorScroll might listen on event... -              $anchorScroll();              });            } else {              cleanupLastView(); | 
