--- title: "" description: "Nuxt provides the component to show layouts on pages and error pages." links: - label: Source icon: i-simple-icons-github to: https://github.com/nuxt/nuxt/blob/main/packages/nuxt/src/app/components/nuxt-layout.ts size: xs --- You can use `` component to activate the `default` layout on `app.vue` or `error.vue`. ```vue [app.vue] ``` :read-more{to="/docs/guide/directory-structure/layouts"} ## Props - `name`: Specify a layout name to be rendered, can be a string, reactive reference or a computed property. It **must** match the name of the corresponding layout file in the [`layouts/`](/docs/guide/directory-structure/layouts) directory. - **type**: `string` - **default**: `default` ```vue [pages/index.vue] ``` ::note Please note the layout name is normalized to kebab-case, so if your layout file is named `errorLayout.vue`, it will become `error-layout` when passed as a `name` property to ``. :: ```vue [error.vue] ``` ::read-more{to="/docs/guide/directory-structure/layouts"} Read more about dynamic layouts. :: ## Additional Props `NuxtLayout` also accepts any additional props that you may need to pass to the layout. These custom props are then made accessible as attributes. ```vue [pages/some-page.vue] ``` In the above example, the value of `title` will be available using `$attrs.title` in the template or `useAttrs().title` in ` ``` ## Transitions `` renders incoming content via ``, which is then wrapped around Vue’s `` component to activate layout transition. For this to work as expected, it is recommended that `` is **not** the root element of the page component. ```vue [pages/index.vue] ``` :read-more{to="/docs/getting-started/transitions"} ## Layout's Ref To get the ref of a layout component, access it through `ref.value.layoutRef`. ````vue [app.vue] ```` :read-more{to="/docs/guide/directory-structure/layouts"}