diff --git a/src/components/appRouter.js b/src/components/appRouter.js index e40875089c..5a89deca54 100644 --- a/src/components/appRouter.js +++ b/src/components/appRouter.js @@ -44,13 +44,7 @@ class AppRouter { }, 0); }); - document.addEventListener('viewshow', () => { - const resolve = this.resolveOnNextShow; - if (resolve) { - this.resolveOnNextShow = null; - resolve(); - } - }); + document.addEventListener('viewshow', () => this.onViewShow()); this.baseRoute = window.location.href.split('?')[0].replace(this.getRequestFile(), ''); // support hashbang @@ -417,6 +411,14 @@ class AppRouter { }); } + onViewShow() { + const resolve = this.resolveOnNextShow; + if (resolve) { + this.resolveOnNextShow = null; + resolve(); + } + } + onForcedLogoutMessageTimeout() { const msg = this.forcedLogoutMsg; this.forcedLogoutMsg = null; @@ -638,7 +640,11 @@ class AppRouter { const ignore = route.dummyRoute === true || this.previousRoute.dummyRoute === true; this.previousRoute = route; - if (ignore) return; + if (ignore) { + // Resolve 'show' promise + this.onViewShow(); + return; + } this.handleRoute(ctx, next, route); };