Tengo el siguiente problema.
<script setup lang="ts"> import { RouterView } from "vue-router"; import defaultLayout from "@/layouts/default.vue"; import { useDefaultStore } from "@/stores/default"; let { getLayout } = useDefaultStore(); </script> <template> <component :is="getLayout"> <RouterView /> </component> </template> Uso Pinia como tienda. getLayout , está obteniendo defaultLayout
Sé que en Vue.js 2 tenías que registrarlo:
export default { components: { defaultLayout } }¿Cómo lo hago ahora?
No puede descruturar la tienda de esa manera, debe usar Pinias storeToRefs() ( https://pinia.vuejs.org/core-concepts/#using-the-store ). Tal vez tenga algo que ver con eso, no puedo decirlo sin el código de la tienda.
Recomiendo usar este complemento https://github.com/JohnCampionJr/vite-plugin-vue-layouts si está usando Vite y necesita diseños.