I want to create a website
and use vue-router
for that.
After implementing everything the routing
is not working out. The navbar
is showing, but my components (mainView.vue, site.vue)
are not displayed.
I don't get any errors.
What am I doing wrong on this? Thanks for your help!
router/index.js
import { createRouter, createWebHashHistory } from 'vue-router'
import homeView from "../components/mainView.vue";
import siteview from "../components/site.vue";
const routes = [
{
path: '/home',
name: 'home',
component: homeView
},
{
path: '/site',
name: 'site',
component: siteView
},
]
const router = createRouter({
history: createWebHashHistory(process.env.BASE_URL),
routes
})
export default router;
App.vue
<template>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" to="/home" role="button">Navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" role="button" to="/home">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" role="button" to="/site">Site 1</a>
</li>
</ul>
</div>
</div>
</nav>
</template>
<template>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" to="/home" role="button">Navbar</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false"
aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link active" role="button" to="/home">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" role="button" to="/site">Site 1</a>
</li>
</ul>
</div>
<router-view></router-view>
</div>
</nav>
</template>
export default {
name: 'App'
homeView.vue
and siteView.vue
will be displayed here <router-view> </router-view>
when you click page link