Open M4TThys123 opened 1 year ago
Ik ben begonnen door het refactoren van mijn oude code, daarnaast heb ik super veel HTML & CSS toegevoegd. Maar ik kwam er achter dat ik het mijzelf super moeilijk maak, doordat ik zoveel code staan kan ik niks meer kan lezen of vinden.
Ik heb wel een HamburgerMenu component gemaakt die ook geanimeerd is, daarnaast heb ik een blur
gemaakt voor de achtergrond.
HamburgerMenu
component
<template>
<button id="ham-burger" @click="toggleNav" :class="{ 'open': isNavOpen }">
<span></span>
<span></span>
<span></span>
<span></span>
</button>
</template>
blur
.blur{
backdrop-filter: blur(24px);
}
Brakepoint
gebruikt
@media only screen and (min-width: 0px) and (max-width: 1024px) {
}
@media only screen and (min-width: 0px) and (max-width: 750px) {
}
Ik ben begonnen door het refactoren van mijn 2 ouder versies. Deze versie ga ik code schrijven die door mijn router constance heen loopt. Hiervoor heb ik eerst een nav template gemaakt.
nav template
<nav class="nav__menu">
<ul class="nav__list">
<li class="nav__link">
<router-link class="nav__link" to="/"> Temple nav</router-link>
</li>
</ul>
</nav>
Vervolgens heb ik een v-for
gemaakt, dat is een for-loop in vue.
In eerste instantie heb ik deze data uit mijn routes data()
object gehaald om te testen, maar deze staat ook al in mijn index.js.
data() {
return {
routes: [
{
path: '/',
name: 'Home',
},
{
path: '/diensten',
name: 'Diensten',
},
]
}
}
Nadat deze loop werkte heb ik een nieuwe v-for gemaakt met de data uit de router.
<template>
v-for met data uit de router
<template>
<nav class="nav__menu">
<ul class="nav__list">
<li class="nav__link"
v-for="(route, index) in router().options.routes" :key="index">
<router-link class="nav__link" :to="route.path"> {{ route.name}}</router-link>
</li>
</ul>
</nav>
</template>
<script>
Importeren van de index.js
import router from '/src/router/index.js'
Vervolgens ben ik verder gegaan met het stylen van mijn navigatie-menu
Eerste versie
Bij deze eerste versie heb ik de basis van de
Vue Router
opgezet en de router-links heb ik in mijn HTML gezet. Navigeren werkt in vue niet via elementen, maar vie deVue Router
<template>
Vue Router
Ik heb de Vue Router library geïnstalleerd, deze geeft de mogelijkheid om te navigeren tussen verschillende routes. Maar geeft ook de mogelijkheid om deze te beheren. De Router maakt gebruik van componenten voor het renderen van routes. Al deze routes zijn gedefinieerd in een bestand. Bijvoorbeeld
src/router/index.js
Installeren:
main.js
)index.js
main.js
****app.vue
**, components per route te renderenindex.js
Template