diff --git a/angular/src/directives/navigation/stack-controller.ts b/angular/src/directives/navigation/stack-controller.ts index 4bee19260b..ba647815c6 100644 --- a/angular/src/directives/navigation/stack-controller.ts +++ b/angular/src/directives/navigation/stack-controller.ts @@ -199,9 +199,11 @@ export class StackController { if (enteringView) { enteringView.ref.changeDetectorRef.reattach(); } - if (leavingView) { - leavingView.ref.changeDetectorRef.detach(); - } + // TODO: disconnect leaving page from change detection to + // reduce jank during the page transition + // if (leavingView) { + // leavingView.ref.changeDetectorRef.detach(); + // } const enteringEl = enteringView ? enteringView.element : undefined; const leavingEl = leavingView ? leavingView.element : undefined; const containerEl = this.containerEl; diff --git a/angular/test/test-app/e2e/src/router-link.e2e-spec.ts b/angular/test/test-app/e2e/src/router-link.e2e-spec.ts index 6c6a95a49e..ae67891c87 100644 --- a/angular/test/test-app/e2e/src/router-link.e2e-spec.ts +++ b/angular/test/test-app/e2e/src/router-link.e2e-spec.ts @@ -143,8 +143,8 @@ async function testForward() { await testLifeCycle('app-router-link', { ionViewWillEnter: 1, ionViewDidEnter: 1, - ionViewWillLeave: 0, // missing change detection - ionViewDidLeave: 0, // missing change detection + ionViewWillLeave: 1, + ionViewDidLeave: 1, }); await testLifeCycle('app-router-link-page', { ionViewWillEnter: 1,