` outlet in order to render the main page and display a login modal if the user navigates to /login. The login page is basically just a modal that gets plopped into the `\u003Cnuxt-child />` outlet.\r\n\r\nThe index page component has an asyncData method that makes an expensive api call. When the login modal is closed the router goes back to the parent route. `/login => /`\r\nAt this point asyncData is triggered again even when it's already rendered underneath.\r\n\r\n## Expectation\r\nExpected behavior would for asyncData to not trigger as the parent route was never really exited and it should just maintain its existing state.\r\n\r\n## Solution\r\nI have a hacky workaround in our index#asyncData method as seen here\r\n``` javascript\r\nasyncData ({ from, route }) {\r\n const routeName = route.name\r\n\r\n if (from && from.name.indexOf(routeName) === 0) {\r\n return Promise.resolve({})\r\n }\r\n\r\n return apiService.makeCall().then(({ data }) => data)\r\n}\r\n```\r\n\r\nThis seems to solve the issue but I'm just curious if always calling asyncData is intended behavior or not. Or otherwise a better solution that I'm not seeing.\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This question is available on \u003Ca href=\"https://nuxtjs.cmty.io\">Nuxt.js\u003C/a> community (\u003Ca href=\"https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c1578\">#c1578\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3036,3039],{"name":3037,"color":3038},"question","cc317c",{"name":3024,"color":3025},1756,"Going 'back' from a nested child route triggers async data in the parent","2023-01-18T15:54:44Z","https://github.com/nuxt/nuxt/issues/1756",0.6374459,{"description":3046,"labels":3047,"number":3049,"owner":3027,"repository":3027,"state":3028,"title":3050,"updated_at":3051,"url":3052,"score":3053},"If there is a child page where the parent has not included a \u003Cnuxt-child /> the child will still run the asyncData function.\r\n\r\nHere is a repro:\r\nhttps://subdued-pest.glitch.me\r\nhttps://glitch.com/edit/#!/subdued-pest?path=pages/_page1/_page2/_page2.vue:13:9\r\n\r\nShould the asyncData functions for pages/child pages only be run when the child is actually included/required?\r\n\r\nI think in this scenario it is because the child page also matches the route but I can't be sure that's why.\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This question is available on \u003Ca href=\"https://nuxtjs.cmty.io\">Nuxt.js\u003C/a> community (\u003Ca href=\"https://nuxtjs.cmty.io/nuxt/nuxt.js/issues/c2111\">#c2111\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3048],{"name":3024,"color":3025},2435,"asyncData called on child pages that have not been included in parent","2023-01-18T15:55:18Z","https://github.com/nuxt/nuxt/issues/2435",0.6397236,{"description":3055,"labels":3056,"number":3064,"owner":3027,"repository":3027,"state":3028,"title":3065,"updated_at":3066,"url":3067,"score":3068},"### Version\r\n\r\n[v2.8.1](https://github.com/nuxt.js/releases/tag/v2.8.1)\r\n\r\n### Reproduction link\r\n\r\n[https://codesandbox.io/embed/codesandbox-nuxt-7ostd](https://codesandbox.io/embed/codesandbox-nuxt-7ostd)\r\n\r\n### Steps to reproduce\r\n\r\n0. open browser tab to index page(ssr)\r\n1. click link to route to /about\r\n2. click button to go back to keep-alive index page\r\n\r\n### What is expected ?\r\n\r\ndo not call asyncData in client when SSR rendered\r\n\r\n\r\n### What is actually happening?\r\n\r\ncalling asyncData multiple times when keep-alive page activated\r\n\r\n### Additional comments?\r\n\r\nrelated code\r\nhttps://github.com/nuxt/nuxt.js/blob/f3d29e378087b6c6c686a03292c2bce409161110/packages/vue-app/template/client.js#L386-L397\r\nhttps://github.com/nuxt/nuxt.js/blob/f3d29e378087b6c6c686a03292c2bce409161110/packages/vue-app/template/utils.js#L24-L31\r\n\r\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\r\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This bug report is available on \u003Ca href=\"https://cmty.app/nuxt\">Nuxt\u003C/a> community (\u003Ca href=\"https://cmty.app/nuxt/nuxt.js/issues/c9372\">#c9372\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3057,3060,3063],{"name":3058,"color":3059},"stale","ffffff",{"name":3061,"color":3062},"pending triage","E99695",{"name":3024,"color":3025},5945,"calling asyncData multiple times when keep-alive page activated","2023-01-22T15:33:07Z","https://github.com/nuxt/nuxt/issues/5945",0.64051855,{"labels":3070,"number":3073,"owner":3027,"repository":3027,"state":3028,"title":3074,"updated_at":3075,"url":3076,"score":3077},[3071,3072],{"name":3061,"color":3062},{"name":3024,"color":3025},6981,"asyncData not working/not called in page component","2023-01-22T15:34:48Z","https://github.com/nuxt/nuxt/issues/6981",0.6520793,{"description":3079,"labels":3080,"number":3083,"owner":3027,"repository":3027,"state":3028,"title":3084,"updated_at":3085,"url":3086,"score":3087},"### Version\r\n\r\n[v2.0.0](https://github.com/nuxt.js/releases/tag/v2.0.0)\r\n\r\n### Reproduction\r\n\r\nhttps://codesandbox.io/s/k0rj8844nv\r\n\r\n### Steps to reproduce\r\n\r\nlet's say I have the following structure:\r\n\r\n```\r\npages\\user\\_id.vue\r\npages\\user\\_id\\_name.vue\r\n```\r\n\r\nNote , in one _id is a file, in the other is folder\r\n\r\n### What is expected ?\r\n\r\nonly `pages\\user\\_id\\_name.vue` should be rendered.\r\n\r\n### What is actually happening?\r\n\r\nwhen I go to page /user/12/john\r\nthen I see asyncdata being called twice.\r\n\r\n```\r\npages_user__id.js:xxx\r\npages_user__id__name.js:xxx\r\n```\r\n\r\n seems like both pages being rendered. Asyncdata is called on both, although created and mounted called once\r\n\r\n\r\n\r\n### Additional comments?\r\n\r\nThis might explain many other asyncdata multiple call issues\r\n\r\n\u003C!--cmty-->\r\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This bug report is available on \u003Ca href=\"https://cmty.app/nuxt\">Nuxt\u003C/a> community (\u003Ca href=\"https://cmty.app/nuxt/nuxt.js/issues/c7867\">#c7867\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3081,3082],{"name":3061,"color":3062},{"name":3024,"color":3025},4008,"Asyncdata and fetch called twice in nested route","2023-01-23T20:27:00Z","https://github.com/nuxt/nuxt/issues/4008",0.6523458,{"labels":3089,"number":3093,"owner":3027,"repository":3027,"state":3028,"title":3094,"updated_at":3095,"url":3096,"score":3097},[3090,3091,3092],{"name":3058,"color":3059},{"name":3061,"color":3062},{"name":3024,"color":3025},6585,"asyncData unexpectedly recovers initial value of data","2023-01-22T15:34:46Z","https://github.com/nuxt/nuxt/issues/6585",0.6545033,{"description":3099,"labels":3100,"number":3105,"owner":3027,"repository":3027,"state":3028,"title":3106,"updated_at":3107,"url":3108,"score":3109},"### Environment\n\n```\r\nWorking directory: /home/projects/nuxt-starter-bb8vfa\r\nNuxt project info: \r\n\r\n------------------------------\r\n- Operating System: Linux\r\n- Node Version: v18.18.0\r\n- Nuxt Version: 3.9.3\r\n- CLI Version: 3.10.0\r\n- Nitro Version: 2.8.1\r\n- Package Manager: yarn@1.22.19\r\n- Builder: -\r\n- User Config: devtools, modules\r\n- Runtime Modules: @pinia/nuxt@0.5.1\r\n- Build Modules: -\r\n------------------------------\r\n```\n\n### Reproduction\n\n[Nuxt 3 minimal reproduction](https://stackblitz.com/edit/nuxt-starter-bb8vfa)\r\n\r\nTo reproduce\r\n- navigate to `/any-parent/any-child` using hard navigation\r\n- notice that the value for \"URL in parent\" only appears after page load, whereas the \"URL in child\" is correctly populated from server rendering\r\n- there is also a Hydration Mismatch warning about the text being different\r\n\r\nFor comparison, please see basically the same folder structure [running on Nuxt 2](https://stackblitz.com/edit/github-nszxhn)\r\n- with Nuxt 2, both \"URL in parent\" and \"URL in child\" are correctly populated from SSR\n\n### Describe the bug\n\nIt appears that in Nuxt 3, parent components are server-rendered without waiting for the async data on child routes to complete.\r\n\r\nThe easiest way to reproduce this is in cases where the parent and the child share a store, but the child is the one triggering the action that retrieves data in the store. The child's rendering will wait until the action has finalized (because it's got the `useAsyncData` logic), but the parent goes ahead and tries to render with the \"undefined\" data from the store.\r\n\r\nThis didn't happen in Nuxt 2, as you can see from the example repo, where it looks like both the parent and the child get rendered only after the `asyncData` in child has completed.\n\n### Additional context\n\nWhile this isn't necessarily implemented according to \"best practices\", we found that on our Nuxt 2 codebase this saves us having to perform additional API requests, therefore reducing load on the API servers and also creating a single point of failure for the data hydration of both the child page and parent page.\r\n\r\nFurthermore, if both the parent page and the child page need to use the same data set, as it currently stands with Nuxt 3, it's not safe to only dispatch the data action on the parent, because that would expose the child to the same \"missing data\" effect.\r\n\r\nRight now this is an issue we are facing when migrating our codebase to Nuxt 3, and I'd be happy to provide more context if needed.\n\n### Logs\n\n_No response_",[3101,3104],{"name":3102,"color":3103},"3.x","29bc7f",{"name":3061,"color":3062},25491,"Parent page rendered before asyncData finished in child route","2024-02-12T15:39:26Z","https://github.com/nuxt/nuxt/issues/25491",0.66217357,{"description":3111,"labels":3112,"number":3115,"owner":3027,"repository":3027,"state":3028,"title":3116,"updated_at":3117,"url":3118,"score":3119},"### Version\n\n[v2.6.0](https://github.com/nuxt.js/releases/tag/v2.6.0)\n\n### Reproduction link\n\n[https://codesandbox.io/embed/w04l29nmm7](https://codesandbox.io/embed/w04l29nmm7)\n\n### Steps to reproduce\n\nHello im having problems with nested dynamic routes\nhere is a sandbox example https://codesandbox.io/embed/w04l29nmm7\ni applied this documentation to sandbox https://nuxtjs.org/guide/routing#dynamic-nested-routes\n\npages/\n--| _category/\n-----| _subCategory/\n--------| _id.vue\n--------| index.vue\n-----| _subCategory.vue\n-----| index.vue\n--| _category.vue\n--| index.vue\n\nfor category route asyncData called 2 times\nfor category/subcategory route asyncData called 3 times\n\n\n\n### What is expected ?\n\nasyncData called once for single page\n\n### What is actually happening?\n\nasyncData called multiple times for single page\n\n### Additional comments?\n\nfor category route asyncData called 2 times\nfor category/subcategory route asyncData called 3 times\n\n\n\n\u003C!--cmty-->\u003C!--cmty_prevent_hook-->\n\u003Cdiv align=\"right\">\u003Csub>\u003Cem>This bug report is available on \u003Ca href=\"https://cmty.app/nuxt\">Nuxt\u003C/a> community (\u003Ca href=\"https://cmty.app/nuxt/nuxt.js/issues/c9000\">#c9000\u003C/a>)\u003C/em>\u003C/sub>\u003C/div>",[3113,3114],{"name":3061,"color":3062},{"name":3024,"color":3025},5468,"asyncData called multiple times in nested routes ","2023-01-22T15:33:04Z","https://github.com/nuxt/nuxt/issues/5468",0.66342044,{"description":3121,"labels":3122,"number":3128,"owner":3027,"repository":3027,"state":3028,"title":3129,"updated_at":3130,"url":3131,"score":3132},"### Environment\r\n\r\n------------------------------\r\n- Operating System: Darwin\r\n- Node Version: v18.18.2\r\n- Nuxt Version: 3.8.0\r\n- CLI Version: 3.9.1\r\n- Nitro Version: 2.7.0\r\n- Package Manager: npm@8.19.4\r\n- Builder: -\r\n- User Config: -\r\n- Runtime Modules: -\r\n- Build Modules: -\r\n------------------------------\r\n\r\n### Reproduction\r\n\r\nhttps://stackblitz.com/~/github.com/pguilbert/nuxt-await-tests\r\n\r\nNavigation from \"Home\" to \"noawait-default\" should be identical to the one from \"Home\" to \"await-default\" (but twice faster because of the parallelization). Without `{lazy: true}` \"Loading...\" should not be shown to the user.\r\n\r\n### Describe the bug\r\n\r\nThe documentation states the following:\r\n> By default, data fetching composables will wait for the resolution of their asynchronous function before navigating to a new page by using Vue’s Suspense. This feature can be ignored on client-side navigation with the lazy option. In that case, you will have to manually handle loading state using the pending value. (https://nuxt.com/docs/getting-started/data-fetching#useasyncdata ) \r\n\r\nIt appears that this is not the case when `useAsyncData` is not awaited. Currently, my understanding is that: \r\n```ts\r\nconst asyncData = useAsyncData(\r\n () => ...\r\n);\r\n```\r\n\r\nis equivalent to \r\n```ts\r\nconst asyncData = useAsyncData(\r\n () => ...,\r\n { lazy: true}\r\n);\r\n```\r\n\r\n\r\nThank you for your help 🙏\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Logs\r\n\r\n_No response_",[3123,3124,3127],{"name":3102,"color":3103},{"name":3125,"color":3126},"workaround available","11376d",{"name":3061,"color":3062},24542,"`useAsyncData` is not blocking the client navigation","2023-12-01T08:07:15Z","https://github.com/nuxt/nuxt/issues/24542",0.6650086,["Reactive",3134],{},["Set"],["ShallowReactive",3137],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fgPqFCv-hJ-VQmPGTiwfgpOwaIUI7odpqdM1hl68JB50":-1},"/nuxt/nuxt/7467"]