🚀 Capítulo 14: Vue Router - Hiperdrive
🎯 Objetivo da Aula
Ao final desta aula, você saberá como criar uma aplicação com múltiplas páginas (rotas) no Vue.js usando a biblioteca Vue Router, permitindo que o usuário navegue entre telas instantaneamente.
🏢 O Cenário Prático (Seu Desafio)
O painel da sua nave está ficando muito cheio! Você precisa dividir as informações: uma página para o Painel de Controle e outra para o Quartel General. Seu desafio é criar o sistema de Hiperdrive (Navegação) para alternar entre essas telas sem recarregar a página!
🧠 Fundamentos: A Teoria Traduzida
Para criar páginas no Vue, usamos o Vue Router. Ele nos dá dois componentes principais para colocar no HTML:
<RouterView />: É o buraco onde a página atual vai aparecer.<RouterLink>: É o botão de navegação. Substitui a tag<a>.- Exemplo:
<RouterLink to="/qg">Ir para o QG</RouterLink>
- Exemplo:
📖 Exemplo Guiado: Configurando as Rotas
Geralmente instalamos o Vue Router com npm install vue-router@4. Vamos ver como fica a estrutura básica no App.vue.
🛠️ Passo a Passo
Abra o arquivo src/App.vue e configure a casca da navegação:
<template>
<div>
<h1>🚀 Sistema de Hiperdrive</h1>
<!-- Menu de Navegação -->
<nav>
<!-- O RouterLink muda a URL sem recarregar a página -->
<RouterLink to="/">Painel</RouterLink> |
<RouterLink to="/qg">Quartel General</RouterLink>
</nav>
<hr />
<!-- Aqui é onde os componentes das páginas vão aparecer -->
<RouterView />
</div>
</template>
<script setup>
// Em um projeto real, a configuração das rotas fica no arquivo router/index.js
</script>
<style scoped>
nav a {
color: #ffe81f;
margin: 0 10px;
text-decoration: none;
}
.router-link-active {
font-weight: bold;
text-decoration: underline;
}
</style>🕹️ Como Executar e Testar no VS Code
- Salve e veja o navegador.
- Clique nos links. Veja que a URL muda na barra de endereço e o Vue destaca o link ativo automaticamente graças à classe
.router-link-active!
🛠️ Prática Obrigatória 1
Crie um novo componente de página simples chamado Hangar.vue (pode ser apenas um título).
🛠️ Prática Obrigatória 2
Adicione um novo <RouterLink> no menu do App.vue apontando para a rota /hangar.
🔑 Gabarito de Código/Fórmulas
Prática 2:
No <template> do App.vue:
<RouterLink to="/hangar">Hangar</RouterLink>