@@ -186,8 +186,8 @@ function $StateProvider( $urlRouterProvider, $urlMatcherFactory, $
186186
187187 // $urlRouter is injected just to ensure it gets instantiated
188188 this . $get = $get ;
189- $get . $inject = [ '$rootScope' , '$q' , '$templateFactory ' , '$injector' , '$stateParams' , '$location' , '$urlRouter' ] ;
190- function $get ( $rootScope , $q , $templateFactory , $injector , $stateParams , $location , $urlRouter ) {
189+ $get . $inject = [ '$rootScope' , '$q' , '$view ' , '$injector' , '$stateParams' , '$location' , '$urlRouter' ] ;
190+ function $get ( $rootScope , $q , $view , $injector , $stateParams , $location , $urlRouter ) {
191191
192192 var TransitionSuperseded = $q . reject ( new Error ( 'transition superseded' ) ) ;
193193 var TransitionPrevented = $q . reject ( new Error ( 'transition prevented' ) ) ;
@@ -332,14 +332,7 @@ function $StateProvider( $urlRouterProvider, $urlMatcherFactory, $
332332 // necessary. In addition to being available to the controller and onEnter/onExit callbacks,
333333 // we also need $stateParams to be available for any $injector calls we make during the
334334 // dependency resolution process.
335- var $stateParams ;
336- if ( paramsAreFiltered ) $stateParams = params ;
337- else {
338- $stateParams = { } ;
339- forEach ( state . params , function ( name ) {
340- $stateParams [ name ] = params [ name ] ;
341- } ) ;
342- }
335+ var $stateParams = ( paramsAreFiltered ) ? params : filterByKeys ( state . params , params ) ;
343336 var locals = { $stateParams : $stateParams } ;
344337
345338 // Resolves the values from an individual 'resolve' dependency spec
@@ -366,21 +359,21 @@ function $StateProvider( $urlRouterProvider, $urlMatcherFactory, $
366359 // Resolve template and dependencies for all views.
367360 forEach ( state . views , function ( view , name ) {
368361 // References to the controller (only instantiated at link time)
369- var $view = dst [ name ] = {
362+ var _ $view = dst [ name ] = {
370363 $$controller : view . controller
371364 } ;
372365
373366 // Template
374367 promises . push ( $q
375- . when ( $templateFactory . fromConfig ( view , $stateParams , locals ) || '' )
368+ . when ( $view . load ( name , { view : view , locals : locals , notify : false } ) || '' )
376369 . then ( function ( result ) {
377- $view . $template = result ;
370+ _ $view. $template = result ;
378371 } ) ) ;
379372
380373 // View-local dependencies. If we've reused the state definition as the default
381374 // view definition in .state(), we can end up with state.resolve === view.resolve.
382375 // Avoid resolving everything twice in that case.
383- if ( view . resolve !== state . resolve ) resolve ( view . resolve , $view ) ;
376+ if ( view . resolve !== state . resolve ) resolve ( view . resolve , _ $view) ;
384377 } ) ;
385378
386379 // Once we've resolved all the dependencies for this state, merge
@@ -422,6 +415,15 @@ function $StateProvider( $urlRouterProvider, $urlMatcherFactory, $
422415 }
423416 return true ;
424417 }
418+
419+ function filterByKeys ( keys , values ) {
420+ var filtered = { } ;
421+
422+ forEach ( keys , function ( name ) {
423+ filtered [ name ] = values [ name ] ;
424+ } ) ;
425+ return filtered ;
426+ }
425427}
426428
427429angular . module ( 'ui.state' )
0 commit comments