`).\r\n\r\nIt however updates when navigating between prefixed but root level sibling routes (such as between `pages/some/[id].vue` where there is **no** `pages/some.vue`).\r\n\r\n### Expected behavior\r\n\r\nClicking `/parent2/foo` then `/parent2/bar` calls `asyncData` automatically (or at least after adding adding `definePageMeta` with `key: route => route.params.id` to `parent2/[id].vue`).\r\n\r\n### Additional context\r\n\r\n1) Adding `definePageMeta` with `key: route => route.params.id` doesn't change anything.\r\n\r\n2) I think this might be related to #12361 but this bug is more important and imminent in my thinking.\r\n\r\n3) Of course, `\u003Crouter-view :key=\"$route.params.id\" />` (or even `$route.fullPath`) kind of fixes it. But this is hardly an acceptable solution:\r\n- This is weirdly inconsistent with no-intermediate-router behaviour (parent1 vs. parent2 in the reproduction).\r\n- There could be `pages/parent2/new.vue` and other non-parameter pages, which will break on `$route.params.id`.\r\n- `[id].vue` could be nested much deeply and have no logical relation to the upper level router-view.\r\n\r\nThe current workaround I use is moving each `[id].vue` into `[id]/index.vue` and creating `[id].vue` like this:\r\n\r\n```vue\r\n\u003Cscript lang=\"ts\">\r\nexport default defineComponent({}) // Trigger typescript in template\r\n\u003C/script>\r\n\r\n\u003Ctemplate>\r\n \u003Crouter-view :key=\"$route.params.id as string\" />\r\n\u003C/template>\r\n```\r\n\r\n### Logs\r\n\r\n_No response_",[3121,3122],{"name":3073,"color":3074},{"name":3020,"color":3021},20668,"asyncData not updated for child routes","2023-05-04T10:34:23Z","https://github.com/nuxt/nuxt/issues/20668",0.6646602,["Reactive",3129],{},["Set"],["ShallowReactive",3132],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fkG2jhhbtUZp8XF7WFWaeSF3aRCMgAaE5KUnzxjoDS60":-1},"/nuxt/nuxt/9209"]