It looks like the way to accomplish this is with 2 script tags.
<script>
import layout from 'layout.vue';
export default {
layout
}
</script>
<script setup>
//
</script>
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
I'm using Laravel Breeze/Vue and I'm confused about something.
In episode 12 (Persistent Layouts) of 'Building Modern Laravel Apps using Inertia.js', Jeffery Way explains how to configure things so the vue page is a child of the layout, rather than destroying the layout each time a new vue is rendered (@ 2:00) . But I don't understand how to get it to work.
Basically, the method he suggests is to add something like this:
export default { layout: AuthenticatedLayout };
But Breeze is using with the composition api and it does not accept the export default.
How should I implement this persistent layout approach in Breeze using the composition api?
Please or to participate in this conversation.