<template> <div> <button class="swap-layout" @click="swapLayout"> swap layout </button> <button class="log-foo" @click="logFoo"> log foo </button> <button class="log-hello" @click="logHello"> log hello </button> <NuxtLayout ref="layout" /> </div> </template> <script setup lang="ts"> const layout = ref() const currentLayout = useState('current-layout', () => 'custom') definePageMeta({ layout: 'custom' }) function logFoo () { layout.value.layoutRef.logFoo() } function logHello () { layout.value.layoutRef.logHello() } function swapLayout () { currentLayout.value = currentLayout.value === 'custom2' ? 'custom' : 'custom2' setPageLayout(currentLayout.value) } </script>