Lewati ke konten utama

๐Ÿงญ Vue Router

Vue Router adalah library resmi untuk manajemen routing (navigasi) pada aplikasi Vue.js. Dengan Vue Router, kamu dapat membuat Single Page Application (SPA) dengan navigasi antar halaman tanpa reload.


๐Ÿ“ฆ 1. Instalasi Vue Routerโ€‹

a. Jika menggunakan Vue CLI:โ€‹

vue add router

b. Atau secara manual:โ€‹

npm install vue-router

๐Ÿ”ง 2. Konfigurasi Dasar Vue Routerโ€‹

File: src/router/index.js

import Vue from 'vue';
import Router from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';

Vue.use(Router);

export default new Router({
mode: 'history',
routes: [
{ path: '/', name: 'Home', component: Home },
{ path: '/about', name: 'About', component: About },
]
});

๐Ÿ”— 3. Menggunakan Router di Aplikasiโ€‹

File: src/main.js

import Vue from 'vue';
import App from './App.vue';
import router from './router';

new Vue({
router,
render: h => h(App)
}).$mount('#app');

๐Ÿ“„ 4. Navigasi Halamanโ€‹

Gunakan <router-link> untuk navigasi antar halaman:

<router-link to="/">Beranda</router-link>
<router-link to="/about">Tentang</router-link>

<router-link> akan dirender menjadi elemen <a> otomatis.


๐Ÿ“ฆ 5. Tampilan Dinamisโ€‹

Tambahkan <router-view> di komponen utama untuk menampilkan halaman berdasarkan URL:

<template>
<div>
<h1>My App</h1>
<router-view />
</div>
</template>

๐Ÿ“‚ 6. Struktur Direktori Umumโ€‹

src/
โ”œโ”€โ”€ views/
โ”‚ โ”œโ”€โ”€ Home.vue
โ”‚ โ””โ”€โ”€ About.vue
โ”œโ”€โ”€ router/
โ”‚ โ””โ”€โ”€ index.js
โ”œโ”€โ”€ App.vue
โ””โ”€โ”€ main.js

๐Ÿ”€ 7. Parameter & Routing Dinamisโ€‹

{ path: '/user/:id', component: User }

Akses parameter:

this.$route.params.id

๐Ÿ‘ฎ 8. Navigation Guards (Middleware)โ€‹

router.beforeEach((to, from, next) => {
if (to.meta.requiresAuth && !isLoggedIn()) {
next('/login');
} else {
next();
}
});

๐Ÿงช 9. Mode history vs hashโ€‹

ModeURL ContohKeterangan
hash/#/aboutDefault, tidak butuh konfigurasi server
history/aboutButuh konfigurasi server (nginx, etc)

Gunakan mode: 'history' untuk URL bersih dan SEO-friendly.

๐Ÿ“Œ Kesimpulan Vue Router adalah komponen kunci dalam membangun aplikasi Vue SPA. Dengan konsep komponen dan routing dinamis, kamu dapat membuat aplikasi multi-halaman yang efisien dan modern.