@@ -22,7 +22,7 @@ import Param from "../params/param";
22
22
import { ViewConfig } from "../view/view" ;
23
23
24
24
import {
25
- map , find , extend , mergeR , flatten , unnest , tail , forEach , identity ,
25
+ map , find , extend , filter , mergeR , flatten , unnest , tail , forEach , identity ,
26
26
omit , isObject , not , prop , propEq , toJson , val , abstractKey , arrayTuples , allTrueR
27
27
} from "../common/common" ;
28
28
@@ -251,8 +251,9 @@ export class Transition implements IHookRegistry {
251
251
// add those resolvables to the redirected transition. Allows you to define a resolve at a parent level, wait for
252
252
// the resolve, then redirect to a child state based on the result, and not have to re-fetch the resolve.
253
253
let redirectedPath = this . treeChanges ( ) . to ;
254
- let matching = Node . matching ( redirectTo . treeChanges ( ) . to , redirectedPath ) ;
255
- matching . forEach ( ( node , idx ) => node . resolves = redirectedPath [ idx ] . resolves ) ;
254
+ let matching : Node [ ] = Node . matching ( redirectTo . treeChanges ( ) . to , redirectedPath ) ;
255
+ const includeResolve = ( resolve , key ) => [ '$stateParams' , '$transition$' ] . indexOf ( key ) === - 1 ;
256
+ matching . forEach ( ( node , idx ) => extend ( node . resolves , filter ( redirectedPath [ idx ] . resolves , includeResolve ) ) ) ;
256
257
257
258
return redirectTo ;
258
259
}
0 commit comments