6
6
* @requires $compile
7
7
* @requires $controller
8
8
* @requires $injector
9
- * @requires $anchorScroll
10
9
*
11
10
* @restrict ECA
12
11
*
13
12
* @description
14
- * The ui-view directive tells $state where to place your templates.
13
+ * The ui-view directive tells $state where to place your templates.
15
14
* A view can be unnamed or named.
16
15
*
17
16
* @param {string } ui-view A view name.
18
17
*/
19
- $ViewDirective . $inject = [ '$state' , '$compile' , '$controller' , '$injector' , '$anchorScroll ' ] ;
20
- function $ViewDirective ( $state , $compile , $controller , $injector , $anchorScroll ) {
18
+ $ViewDirective . $inject = [ '$state' , '$compile' , '$controller' , '$injector' , '$uiViewScroll ' ] ;
19
+ function $ViewDirective ( $state , $compile , $controller , $injector , $uiViewScroll ) {
21
20
var $animator = $injector . has ( '$animator' ) ? $injector . get ( '$animator' ) : false ;
22
21
var viewIsUpdating = false ;
23
22
@@ -31,6 +30,7 @@ function $ViewDirective( $state, $compile, $controller, $injector, $an
31
30
var viewScope , viewLocals ,
32
31
name = attr [ directive . name ] || attr . name || '' ,
33
32
onloadExp = attr . onload || '' ,
33
+ autoscrollExp = attr . autoscroll ,
34
34
animate = $animator && $animator ( scope , attr ) ,
35
35
initialView = transclude ( scope ) ;
36
36
@@ -121,9 +121,9 @@ function $ViewDirective( $state, $compile, $controller, $injector, $an
121
121
viewScope . $emit ( '$viewContentLoaded' ) ;
122
122
if ( onloadExp ) viewScope . $eval ( onloadExp ) ;
123
123
124
- // TODO: This seems strange, shouldn't $anchorScroll listen for $viewContentLoaded if necessary?
125
- // $anchorScroll might listen on event...
126
- $anchorScroll ( ) ;
124
+ if ( ! angular . isDefined ( autoscrollExp ) || ! autoscrollExp || scope . $eval ( autoscrollExp ) ) {
125
+ $uiViewScroll ( element ) ;
126
+ }
127
127
}
128
128
} ;
129
129
}
0 commit comments