diff --git a/packages/@ember/-internals/routing/lib/system/router.ts b/packages/@ember/-internals/routing/lib/system/router.ts index 52a4807fbb6..351d8d84d40 100644 --- a/packages/@ember/-internals/routing/lib/system/router.ts +++ b/packages/@ember/-internals/routing/lib/system/router.ts @@ -303,28 +303,28 @@ class EmberRouter extends EmberObject { routeWillChange(transition: Transition) { router.trigger('routeWillChange', transition); + if (router._routerService) { + if (DEBUG) { + freezeRouteInfo(transition); + } + router._routerService.trigger('routeWillChange', transition); + } // in case of intermediate transition we update the current route // to make router.currentRoute.name consistent with router.currentRouteName // see https://github.com/emberjs/ember.js/issues/19449 if (transition.isIntermediate) { router.set('currentRoute', transition.to); } - if (DEBUG) { - freezeRouteInfo(transition); - } - if (router._routerService) { - router._routerService.trigger('routeWillChange', transition); - } } routeDidChange(transition: Transition) { router.set('currentRoute', transition.to); once(() => { router.trigger('routeDidChange', transition); - if (DEBUG) { - freezeRouteInfo(transition); - } if (router._routerService) { + if (DEBUG) { + freezeRouteInfo(transition); + } router._routerService.trigger('routeDidChange', transition); } }); diff --git a/packages/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js b/packages/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js index da987f6dfa4..36fb5c2598f 100644 --- a/packages/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js +++ b/packages/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js @@ -193,12 +193,8 @@ moduleFor( ['null - undefined', 'parent.index beforeModel', null], ['null - undefined', 'parent.index model', null], ['null - undefined', 'parent.loading activate', null], - [ - 'null - parent.loading', - 'parent.loading routeWillChange: null - parent.loading', - null, - ], - ['null - parent.loading', 'parent.index routeWillChange: null - parent.loading', null], + ['null - undefined', 'parent.loading routeWillChange: null - parent.loading', null], + ['null - undefined', 'parent.index routeWillChange: null - parent.loading', null], ['parent.loading - parent.loading', 'parent.index afterModel', '/'], ['parent.loading - parent.loading', 'parent.index redirect', '/'], ['parent.loading - parent.loading', 'parent.index activate', '/'], @@ -245,17 +241,17 @@ moduleFor( ['parent.index - parent.index', 'parent.child model', '/'], ['parent.index - parent.index', 'parent.loading activate', '/'], [ - 'parent.index - parent.loading', + 'parent.index - parent.index', 'parent.child routeWillChange: parent.index - parent.loading', '/', ], [ - 'parent.index - parent.loading', + 'parent.index - parent.index', 'parent.loading routeWillChange: parent.index - parent.loading', '/', ], [ - 'parent.index - parent.loading', + 'parent.index - parent.index', 'parent.index routeWillChange: parent.index - parent.loading', '/', ],