diff --git a/packages/core/ui/frame/frame-common.ts b/packages/core/ui/frame/frame-common.ts index 067abb817d..3a42c2979d 100644 --- a/packages/core/ui/frame/frame-common.ts +++ b/packages/core/ui/frame/frame-common.ts @@ -12,6 +12,7 @@ import { sanitizeModuleName } from '../../utils/common'; import { profile } from '../../profiling'; import { FRAME_SYMBOL } from './frame-helpers'; import { SharedTransition } from '../transition/shared-transition'; +import { NavigationData } from '.'; export { NavigationType } from './frame-interfaces'; export type { AndroidActivityCallbacks, AndroidFragmentCallbacks, AndroidFrame, BackstackEntry, NavigationContext, NavigationEntry, NavigationTransition, TransitionState, ViewEntry, iOSFrame } from './frame-interfaces'; @@ -256,6 +257,7 @@ export class FrameBase extends CustomLayoutView { } public setCurrent(entry: BackstackEntry, navigationType: NavigationType): void { + const fromEntry = this._currentEntry; const newPage = entry.resolvedPage; // In case we navigated forward to a page that was in the backstack @@ -274,11 +276,12 @@ export class FrameBase extends CustomLayoutView { } newPage.onNavigatedTo(isBack); - this.notify({ + this.notify({ eventName: FrameBase.navigatedToEvent, object: this, isBack, entry, + fromEntry, }); // Reset executing context after NavigatedTo is raised; @@ -478,7 +481,7 @@ export class FrameBase extends CustomLayoutView { } backstackEntry.resolvedPage.onNavigatingTo(backstackEntry.entry.context, isBack, backstackEntry.entry.bindingContext); - this.notify({ + this.notify({ eventName: FrameBase.navigatingToEvent, object: this, isBack, diff --git a/packages/core/ui/frame/index.d.ts b/packages/core/ui/frame/index.d.ts index d305ba6e45..73e5ca2aa7 100644 --- a/packages/core/ui/frame/index.d.ts +++ b/packages/core/ui/frame/index.d.ts @@ -7,8 +7,8 @@ import { Transition } from '../transition'; export * from './frame-interfaces'; export interface NavigationData extends EventData { - entry?: NavigationEntry; - fromEntry?: NavigationEntry; + entry?: BackstackEntry; + fromEntry?: BackstackEntry; isBack?: boolean; }