Skip to content

route sync problem when switching nested layouts #32904

@cernymatej

Description

@cernymatej

Environment

  • Operating System: Darwin
  • Node Version: v22.17.0
  • Nuxt Version: 4.0.3
  • CLI Version: 3.27.0
  • Nitro Version: 2.12.4
  • Package Manager: pnpm@10.12.1
  • Builder: -
  • User Config: compatibilityDate, devtools
  • Runtime Modules: -
  • Build Modules: -

Reproduction

https://stackblitz.com/edit/github-2rbfaqzs?file=app%2Fpages%2Fb.vue

Describe the bug

I found another edge case with route object synchronization. When going away from a route that uses a nested layout like so:

// default.vue
<template>
    <NuxtLayout name="full">
        <slot />
    </NuxtLayout>
</template>
<template>
    <div>
        Full layout route: {{ route.name }}<br />
        <slot />
    </div>
</template>

The route inside full.vue will not be synced with suspense resolution. This only happens when the destination route has a different layout set.

Clipboard-20250808-195229-844.mp4

cc @huang-julien (#24673 ?)

Additional context

No response

Logs

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions