mirror of
https://github.com/nuxt/nuxt.git
synced 2024-12-02 10:27:15 +00:00
dc47c64f14
Co-authored-by: Daniel Roe <daniel@roe.dev> Co-authored-by: Sébastien Chopin <seb@nuxtjs.com> Co-authored-by: Pooya Parsa <pooya@pi0.io> Co-authored-by: pooya parsa <pyapar@gmail.com> Co-authored-by: Clément Ollivier <clement.o2p@gmail.com>
18 lines
677 B
Markdown
18 lines
677 B
Markdown
---
|
|
description: setPageLayout allows you to dynamically change the layout of a page.
|
|
---
|
|
# `setPageLayout`
|
|
|
|
`setPageLayout` allows you to dynamically change the layout of a page. It relies on access to the Nuxt context and can only be called within components' setup functions, plugins, and route middleware.
|
|
|
|
```ts
|
|
export default defineNuxtRouteMiddleware((to) => {
|
|
// Set the layout on the route you are navigating _to_
|
|
setPageLayout('other')
|
|
})
|
|
```
|
|
|
|
::alert{icon=👉}
|
|
If you choose to set the layout dynamically on the server side, you _must_ do so before the layout is rendered by Vue (that is, within a plugin or route middleware) to avoid a hydration mismatch.
|
|
::
|