Fernando Ellery
Fernando Ellery14/07/2023 15:58
Compartilhe

Como configurar o vue router 4 usando javascript de modo que o MenuPrincipal.vue usando um router-link abara o conteúdo na Content.vue

  • #JavaScript
  • #Vue.js

Olá

Sou novo na área de frontend e tive dificuldades para configurar o Vue Router 4 e vincular o componente MenuPrincipal.vue ao componente Content.vue usando router-link:

Certifique-se de ter o Vue Router instalado em seu projeto. Se você ainda não o instalou, execute o seguinte comando em seu terminal:

npm install vue-router@4

Crie um arquivo router.js (ou qualquer outro nome que você preferir) na pasta do seu projeto. Este arquivo será responsável por configurar o Vue Router. No router.js, adicione o seguinte código:

import { createRouter, createWebHistory } from 'vue-router';
import MenuPrincipal from './components/MenuPrincipal.vue';
import Content from './components/Content.vue';


const routes = [
{
  path: '/',
  name: 'MenuPrincipal',
  component: MenuPrincipal
},
{
  path: '/conteudo',
  name: 'Content',
  component: Content
}
];


const router = createRouter({
history: createWebHistory(),
routes
});


export default router;

Certifique-se de ter os componentes MenuPrincipal.vue e Content.vue criados em suas respectivas pastas dentro do projeto.

Agora, você precisa garantir que o Vue Router seja usado em sua instância principal do Vue. Normalmente, isso é feito no arquivo main.js. Adicione o seguinte código ao main.js:

import { createApp } from 'vue';
import App from './App.vue';
import router from './router';


const app = createApp(App);
app.use(router);
app.mount('#app');

Agora que o Vue Router está configurado, você pode usar o componente router-link para navegar entre as rotas. No componente MenuPrincipal.vue, onde você deseja que o link esteja presente, adicione o seguinte código:

<template>
<div>
  <router-link to="/conteudo">Abrir conteúdo</router-link>
</div>
</template>

No componente Content.vue, onde você deseja exibir o conteúdo vinculado ao link, você pode acessá-lo usando o slot padrão. Adicione o seguinte código ao Content.vue:

<template>
<div>
  <router-view></router-view>
</div>
</template>

Agora, quando você clicar no link "Abrir conteúdo" no componente MenuPrincipal.vue, o conteúdo será exibido no componente Content.vue. Certifique-se de que os nomes dos componentes e as rotas estejam corretos de acordo com sua estrutura de projeto.

Compartilhe
Comentários (0)