<aside> <img src="/icons/arrow-northeast_gray.svg" alt="/icons/arrow-northeast_gray.svg" width="40px" />
Índice
</aside>
<aside> <img src="/icons/notion_green.svg" alt="/icons/notion_green.svg" width="40px" />
Conteúdos
Anatomia de um componente .vue
Interpolação e reatividade com ref e computed
Diretivas: v-bind, v-on, v-if, v-for e v-model
Criando o projeto Gumball Verse
Primeira requisição com useFetch
Layout, base do projeto e nuxt.config.ts
Consumindo a API nas listagens
Páginas de detalhes com rotas dinâmicas
Tratando o erro 404 com createError
Títulos das páginas com useHead
Filtros, paginação e busca com debounce
Desafio: título e favicon dinâmicos
</aside>
Parabéns por chegar até aqui! 🎉 Ao longo deste workshop, saímos do primeiro componente Vue e chegamos a uma aplicação completa com Nuxt, com rotas, consumo de API, tratamento de erros e SEO.
.vue com <script setup> e <style scoped>;ref e computed;v-bind, v-on, v-if, v-for e v-model;onMounted.useFetch e query params;createError;useHead, filtros, paginação e busca com debounce.O Gumball Verse é uma ótima base para continuar praticando. Algumas ideias para evoluir o projeto:
error no error.vue para exibir mensagens diferentes para o 404 e para os outros erros;status retornado pelo useFetch para mostrar um carregamento enquanto os dados chegam;