diff --git a/packages/vue-router/src/router.ts b/packages/vue-router/src/router.ts index edae1b90eb..e519fb3390 100644 --- a/packages/vue-router/src/router.ts +++ b/packages/vue-router/src/router.ts @@ -43,16 +43,12 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => opts.history.listen((to: any, _: any, info: any) => handleHistoryChange({ path: to }, info.type, info.direction)); const handleNavigateBack = (defaultHref?: string, routerAnimation?: AnimationBuilder) => { - //console.log('--- Begin Navigate Back ---'); // todo grab default back button href from config const routeInfo = locationHistory.current(); - //console.log('Route Info', routeInfo) if (routeInfo && routeInfo.pushedByRoute) { const prevInfo = locationHistory.findLastLocation(routeInfo); if (prevInfo) { - //console.log('Prev Info', prevInfo) incomingRouteParams = { ...prevInfo, routerAction: 'pop', routerDirection: 'back', routerAnimation: routerAnimation || routeInfo.routerAnimation }; - //console.log('Set incoming route params', incomingRouteParams) if (routeInfo.lastPathname === routeInfo.pushedByRoute) { router.back(); } else { @@ -64,7 +60,6 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => } else { handleNavigate(defaultHref, 'pop', 'back'); } - //console.log('--- End Navigate Back ---'); } const handleNavigate = (path: string, routerAction?: RouteAction, routerDirection?: RouteDirection, routerAnimation?: AnimationBuilder, tab?: string) => { @@ -134,12 +129,9 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => routerDirection: direction || 'forward', tab: currentTab } - //console.log('No route params, setting', incomingRouteParams) } } - //console.log('Incoming Route Params', incomingRouteParams) - let routeInfo: RouteInfo; if (incomingRouteParams?.id) { routeInfo = { @@ -148,7 +140,6 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => } locationHistory.add(routeInfo); - //console.log('Incoming route params had id, current routeInfo', routeInfo) } else { const isPushed = incomingRouteParams.routerAction === 'push' && incomingRouteParams.routerDirection === 'forward'; routeInfo = { @@ -160,27 +151,21 @@ export const createIonRouter = (opts: IonicVueRouterOptions, router: Router) => params: location.params && location.params, } - //console.log('No id on incoming route params', routeInfo) - if (isPushed) { routeInfo.tab = leavingLocationInfo.tab; - routeInfo.pushedByRoute = leavingLocationInfo.pathname; - //console.log('Was pushed', routeInfo); + routeInfo.pushedByRoute = (leavingLocationInfo.pathname !== '') ? leavingLocationInfo.pathname : undefined; } else if (routeInfo.routerAction === 'pop') { const route = locationHistory.findLastLocation(routeInfo); routeInfo.pushedByRoute = route?.pushedByRoute; - //console.log('action pop', routeInfo) } else if (routeInfo.routerAction === 'push' && routeInfo.tab !== leavingLocationInfo.tab) { const lastRoute = locationHistory.getCurrentRouteInfoForTab(routeInfo.tab); routeInfo.pushedByRoute = lastRoute?.pushedByRoute; - //console.log('was push and switch tab', routeInfo) } else if (routeInfo.routerAction === 'replace') { const currentRouteInfo = locationHistory.current(); routeInfo.lastPathname = currentRouteInfo?.pathname || routeInfo.lastPathname; routeInfo.pushedByRoute = currentRouteInfo?.pushedByRoute || routeInfo.pushedByRoute; routeInfo.routerDirection = currentRouteInfo?.routerDirection || routeInfo.routerDirection; routeInfo.routerAnimation = currentRouteInfo?.routerAnimation || routeInfo.routerAnimation; - //console.log('was repalce',routeInfo) } locationHistory.add(routeInfo); diff --git a/packages/vue/src/components/IonRouterOutlet.ts b/packages/vue/src/components/IonRouterOutlet.ts index 6c33b24142..9d5835ea9d 100644 --- a/packages/vue/src/components/IonRouterOutlet.ts +++ b/packages/vue/src/components/IonRouterOutlet.ts @@ -164,8 +164,6 @@ export const IonRouterOutlet = defineComponent({ if (enteringViewItem === leavingViewItem) return; - if (enteringViewItem === leavingViewItem) return; - fireLifecycle(enteringViewItem.vueComponent, LIFECYCLE_WILL_ENTER); if (leavingViewItem) { @@ -174,8 +172,6 @@ export const IonRouterOutlet = defineComponent({ fireLifecycle(leavingViewItem.vueComponent, LIFECYCLE_WILL_LEAVE); - enteringEl.classList.remove('ion-page-hidden'); - /** * If we are going back from a page that * was presented using a custom animation @@ -199,7 +195,7 @@ export const IonRouterOutlet = defineComponent({ enteringEl, leavingEl, routerDirection, - routerDirection === 'forward', + !!routeInfo.pushedByRoute, false, animationBuilder ); diff --git a/packages/vue/test-app/package-lock.json b/packages/vue/test-app/package-lock.json index bf981a7246..483ee95720 100644 --- a/packages/vue/test-app/package-lock.json +++ b/packages/vue/test-app/package-lock.json @@ -1306,27 +1306,27 @@ } }, "@ionic/core": { - "version": "0.6.0-dev.202010051957.440e9e7", - "resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.6.0-dev.202010051957.440e9e7.tgz", - "integrity": "sha512-WeMzpVFwNSK0M6tMAfYKr63OSB80x3JJbusF0bieT3Owh4c+zt25S0pfm6Tu8a11iYTn4vteBEYuKeu67Qv+rg==", + "version": "0.6.0-dev.202010061731.4c58b2f", + "resolved": "https://registry.npmjs.org/@ionic/core/-/core-0.6.0-dev.202010061731.4c58b2f.tgz", + "integrity": "sha512-+eR99HmJiYLDPXORCVoAGxQlbQ97JJ4EdP9Uo6/pHwsUw2Drf+NLBaGEwZMrB2AFpINY+uySzd6pjnRPUVFNwQ==", "requires": { "ionicons": "^5.1.2", "tslib": "^1.10.0" } }, "@ionic/vue": { - "version": "0.6.0-dev.202010051957.440e9e7", - "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-0.6.0-dev.202010051957.440e9e7.tgz", - "integrity": "sha512-+tCCF1IC1dyz5mmItMtWo8z6UWbRwoS8UsPCX6dAdIGkALGYY1bjqcOrkj+GK4n8Cu8slpwSoesow/No2jCXog==", + "version": "0.6.0-dev.202010061731.4c58b2f", + "resolved": "https://registry.npmjs.org/@ionic/vue/-/vue-0.6.0-dev.202010061731.4c58b2f.tgz", + "integrity": "sha512-68d0cFHR0/7wI7MXSmVtRYA8iySM9aE9wmeVvgE7v447VDoe9zwhW8sPVCqRy6ibWQpZWRF2tLS4kPPSQKn/HQ==", "requires": { - "@ionic/core": "0.6.0-dev.202010051957.440e9e7", + "@ionic/core": "0.6.0-dev.202010061731.4c58b2f", "ionicons": "^5.1.2" } }, "@ionic/vue-router": { - "version": "0.6.0-dev.202010051957.440e9e7", - "resolved": "https://registry.npmjs.org/@ionic/vue-router/-/vue-router-0.6.0-dev.202010051957.440e9e7.tgz", - "integrity": "sha512-4bRlHoLZdwsU4VwEP8WPudHkZy4uX/rqUvXg5Hn4YMxEGR/AfYm0TAyeQgh2I18GIcnu2Vjff3B46UkZj/5OjA==" + "version": "0.6.0-dev.202010061731.4c58b2f", + "resolved": "https://registry.npmjs.org/@ionic/vue-router/-/vue-router-0.6.0-dev.202010061731.4c58b2f.tgz", + "integrity": "sha512-HyvdJYjppGa2bke6E8TO26RHczxA8LizOB8bL+ZOBfGtpeLnALmajhaHx6CthvPUHLDrcUQZ80LkS+zfM/sBew==" }, "@jest/console": { "version": "24.9.0", @@ -2852,127 +2852,6 @@ "tslint": "^5.20.1", "webpack": "^4.0.0", "yorkie": "^2.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "optional": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "optional": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "optional": true - }, - "fork-ts-checker-webpack-plugin-v5": { - "version": "npm:fork-ts-checker-webpack-plugin@5.2.0", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.0.tgz", - "integrity": "sha512-NEKcI0+osT5bBFZ1SFGzJMQETjQWZrSvMO1g0nAR/w0t328Z41eN8BJEIZyFCl2HsuiJpa9AN474Nh2qLVwGLQ==", - "dev": true, - "optional": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - } - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "optional": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "optional": true - }, - "jsonfile": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.0.1.tgz", - "integrity": "sha512-jR2b5v7d2vIOust+w3wtFKZIfpC2pnRmFAhAC/BuweZFQR8qZzxH1OyrQ10HmdVYiXWkYUqPVsz91cG7EL2FBg==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^1.0.0" - } - }, - "schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "optional": true, - "requires": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "optional": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true, - "optional": true - } } }, "@vue/cli-plugin-unit-jest": { @@ -3143,17 +3022,6 @@ "unique-filename": "^1.1.1" } }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "optional": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, "cliui": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", @@ -3234,18 +3102,6 @@ "supports-color": "^7.0.0" } }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", - "dev": true, - "optional": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, "locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", @@ -3350,18 +3206,6 @@ "webpack-sources": "^1.4.3" } }, - "vue-loader-v16": { - "version": "npm:vue-loader@16.0.0-beta.8", - "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-beta.8.tgz", - "integrity": "sha512-oouKUQWWHbSihqSD7mhymGPX1OQ4hedzAHyvm8RdyHh6m3oIvoRF+NM45i/bhNOlo8jCnuJhaSUf/6oDjv978g==", - "dev": true, - "optional": true, - "requires": { - "chalk": "^4.1.0", - "hash-sum": "^2.0.0", - "loader-utils": "^2.0.0" - } - }, "wrap-ansi": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", @@ -8315,6 +8159,95 @@ } } }, + "fork-ts-checker-webpack-plugin-v5": { + "version": "npm:fork-ts-checker-webpack-plugin@5.2.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-5.2.0.tgz", + "integrity": "sha512-NEKcI0+osT5bBFZ1SFGzJMQETjQWZrSvMO1g0nAR/w0t328Z41eN8BJEIZyFCl2HsuiJpa9AN474Nh2qLVwGLQ==", + "dev": true, + "optional": true, + "requires": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dev": true, + "optional": true, + "requires": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", @@ -9321,9 +9254,9 @@ } }, "ionicons": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.1.2.tgz", - "integrity": "sha512-zO7ZgbBbXhpA7cXO2rDzTNdcCqErjg1Sprq/ossTvaiV0MriOjRE7JO3EGvYjDTPzF9YALGpvLXqCgsRT0tprA==" + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/ionicons/-/ionicons-5.2.1.tgz", + "integrity": "sha512-dtw4rR7Sr2ssGHRrkTMESQ/p4gwovmHgafKvZsEeMjb712xjBOD3YSycy5kofS5RusU/IFVog8693BZiJ0ELzA==" }, "ip": { "version": "1.1.5", @@ -15892,6 +15825,87 @@ } } }, + "vue-loader-v16": { + "version": "npm:vue-loader@16.0.0-beta.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-16.0.0-beta.8.tgz", + "integrity": "sha512-oouKUQWWHbSihqSD7mhymGPX1OQ4hedzAHyvm8RdyHh6m3oIvoRF+NM45i/bhNOlo8jCnuJhaSUf/6oDjv978g==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "loader-utils": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true + }, + "loader-utils": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", + "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "dev": true, + "optional": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "vue-router": { "version": "4.0.0-beta.11", "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.0-beta.11.tgz", diff --git a/packages/vue/test-app/package.json b/packages/vue/test-app/package.json index 9f52449eb8..ab3586ce8c 100644 --- a/packages/vue/test-app/package.json +++ b/packages/vue/test-app/package.json @@ -11,8 +11,8 @@ "cypress": "node_modules/.bin/cypress run --headless --browser chrome" }, "dependencies": { - "@ionic/vue": "0.6.0-dev.202010051957.440e9e7", - "@ionic/vue-router": "0.6.0-dev.202010051957.440e9e7", + "@ionic/vue": "0.6.0-dev.202010061731.4c58b2f", + "@ionic/vue-router": "0.6.0-dev.202010061731.4c58b2f", "core-js": "^3.6.5", "vue": "^3.0.0-0", "vue-router": "^4.0.0-0" diff --git a/packages/vue/test-app/src/router/index.ts b/packages/vue/test-app/src/router/index.ts index decf95526d..c7b94ed0f8 100644 --- a/packages/vue/test-app/src/router/index.ts +++ b/packages/vue/test-app/src/router/index.ts @@ -5,11 +5,6 @@ import Home from '../views/Home.vue' const routes: Array = [ { path: '/', - redirect: '/home' - }, - { - path: '/home', - name: 'Home', component: Home }, { @@ -27,11 +22,19 @@ const routes: Array = [ name: 'Slides', component: () => import('@/views/Slides.vue') }, + { + path: '/default-href', + component: () => import('@/views/DefaultHref.vue') + }, { path: '/navigation', name: 'Navigation', component: () => import('@/views/Navigation.vue') }, + { + path: '/navigation/child', + component: () => import('@/views/NavigationChild.vue') + }, { path: '/nested', name: 'RouterOutlet', @@ -57,7 +60,17 @@ const routes: Array = [ }, { path: 'tab1', - component: () => import('@/views/Tab1.vue') + component: () => import('@/views/Tab1.vue'), + children: [ + { + path: 'child-one', + component: () => import('@/views/Tab1ChildOne.vue') + }, + { + path: 'child-two', + component: () => import('@/views/Tab1ChildTwo.vue') + } + ] }, { path: 'tab2', diff --git a/packages/vue/test-app/src/views/DefaultHref.vue b/packages/vue/test-app/src/views/DefaultHref.vue new file mode 100644 index 0000000000..9fd8094c51 --- /dev/null +++ b/packages/vue/test-app/src/views/DefaultHref.vue @@ -0,0 +1,45 @@ + + + diff --git a/packages/vue/test-app/src/views/Home.vue b/packages/vue/test-app/src/views/Home.vue index 83c6eeac55..168551e97a 100644 --- a/packages/vue/test-app/src/views/Home.vue +++ b/packages/vue/test-app/src/views/Home.vue @@ -26,6 +26,9 @@ Navigation + + Default Href + Nested Router Outlet diff --git a/packages/vue/test-app/src/views/Navigation.vue b/packages/vue/test-app/src/views/Navigation.vue index 3ff1677b1e..0a01ac07d3 100644 --- a/packages/vue/test-app/src/views/Navigation.vue +++ b/packages/vue/test-app/src/views/Navigation.vue @@ -3,7 +3,7 @@ - + Navigation @@ -19,6 +19,10 @@ Set Route Parameters + + + Go to Child Page + diff --git a/packages/vue/test-app/src/views/NavigationChild.vue b/packages/vue/test-app/src/views/NavigationChild.vue new file mode 100644 index 0000000000..92909bc8ae --- /dev/null +++ b/packages/vue/test-app/src/views/NavigationChild.vue @@ -0,0 +1,63 @@ + + + diff --git a/packages/vue/test-app/src/views/Tab1.vue b/packages/vue/test-app/src/views/Tab1.vue index 9d91263f6f..b1f4cb9e6d 100644 --- a/packages/vue/test-app/src/views/Tab1.vue +++ b/packages/vue/test-app/src/views/Tab1.vue @@ -16,16 +16,20 @@ + + + Go to Tab 1 Child 1 + diff --git a/packages/vue/test-app/src/views/Tab1ChildOne.vue b/packages/vue/test-app/src/views/Tab1ChildOne.vue new file mode 100644 index 0000000000..0296487677 --- /dev/null +++ b/packages/vue/test-app/src/views/Tab1ChildOne.vue @@ -0,0 +1,52 @@ + + + diff --git a/packages/vue/test-app/src/views/Tab1ChildTwo.vue b/packages/vue/test-app/src/views/Tab1ChildTwo.vue new file mode 100644 index 0000000000..5606b7c82e --- /dev/null +++ b/packages/vue/test-app/src/views/Tab1ChildTwo.vue @@ -0,0 +1,44 @@ + + + diff --git a/packages/vue/test-app/src/views/Tab2.vue b/packages/vue/test-app/src/views/Tab2.vue index 999fc44ae3..c7532b4566 100644 --- a/packages/vue/test-app/src/views/Tab2.vue +++ b/packages/vue/test-app/src/views/Tab2.vue @@ -1,5 +1,5 @@