Kita akan lanjutkan dengan membuat komponen dan menambahkan depedensi vue-router kedalam project.
Untuk dapat menginstall depedensi yang diperlukan, terlebih dahulu kita install sebuah package manager yaitu NPM.
Instalasi NPM
Ketikan perintah berikut di terminal dan enter:npm installSetelah selesai kita sudah bisa menggunakan vuejs diproject kita.
Install Vue Router
Selanjutnya kita tambahkan sebuah depedensi yaitu vue-router. Untuk mengintallnya gunakan perintah dibawah ini:npm install --save vue-routerVue Router adalah salah satu fitur dari Vue.js. Dengan menggunakan Vue Router kita dapat beralih ke setiap halaman tanpa refresh.
Kemudian buka file app.js di direktori resources/js/, dan kita import module dari vue router.
import Vue from 'vue' import VueRouter from 'vue-router' Vue.use(VueRouter)
Membuat Komponen
Kita akan lanjutkan dengan membuat sebuah komponen. Untuk komponen pertama, kita buat untuk halaman dashboard dengan dengan desain sebuah jumbotron.Untuk membuatnya silahkan ikuti langkah-langkah dibawah ini:
Kita buat komponen dengan membuat sebuah file(.vue) pada direktori resources/js/components.
Silahkan buat file baru di direktori resources/js/components dan beri nama WelcomeAdmin.vue dan copas template dibawah ini.
//WelcomeAdmin.vue
<template>
<div>
<div class="_container">
<div class="h_wrap">
<div class="admin-page-title"></div>
<div class="jumbotron">
<h1 class="display-4">Hello, Admin!</h1>
<p class="lead">This is a simple hero unit, a simple jumbotron-style component for calling extra attention to featured content or information.</p>
<hr class="my-4">
<p class="lead">
<a class="btn btn-primary btn-lg" href="#" role="button">Learn more</a>
</p>
</div>
</div>
</div>
</div>
</template>
Kemudian buka app.js dan kita import komponen WelcomeAdmin.vue:import WelcomeAdmin from './components/WelcomeAdmin'Lalu buat instance router dan kita buat route untuk komponen WelcomeAdmin.vue:
const router = new VueRouter({
mode: 'history',
routes: [
{
path: '/admin/dashboard',
name: 'dashboard',
component: WelcomeAdmin,
},
],
});
Setelah itu kita tambahkan juga properti router pada vue instance.const app = new Vue({
el: '#app',
router,
});
Jadinya://app.js
require('./bootstrap');
window.Vue = require('vue');
import VueRouter from 'vue-router'
Vue.use(VueRouter)
import WelcomeAdmin from './components/WelcomeAdmin'
const router = new VueRouter({
mode: 'history',
routes: [
{
path: '/admin/dashboard',
name: 'Dashboard',
component: WelcomeAdmin,
},
],
});
const app = new Vue({
el: '#app',
router,
});
Langkah selanjutnya kita akan merender komponen yang kita buat tadi di views/admin/ index.blade.php agar dapat tampil di browser.<router-view></router-view>Jadinya:
//views/admin/index.blade.php
<!DOCTYPE html>
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<title>Admin dashboard</title>
<!-- Fonts -->
<link rel="dns-prefetch" href="//fonts.gstatic.com">
<link href="https://fonts.googleapis.com/css?family=Nunito" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<!-- Styles -->
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<link href="{{ asset('css/admin.css') }}" rel="stylesheet">
</head>
<body>
<div id="app">
<div class="wrapper">
<div class="side-menu">
<div class="logo">
<h1 class="ch1"> Teluk Coding</h1>
<p class="cp">Admin Panel | Dashboard</p>
</div>
</div>
<div class="main-content">
<div class="topmenu">
<a href="#" id="showmenu"><i class="fa fa-bars" aria-hidden="true"></i></a>
<div class="search"><i class="fa fa-search" aria-hidden="true"></i> <input type='text' class='src' placeholder='Search...'/></div>
<div class="uactions">
<div class="admin-username"><p>Welcome, {{ Auth::user()->name }}</p> </div>
<div class="admin-logout">
<a href="{{ route('logout') }}"
onclick="event.preventDefault();
document.getElementById('logout-form').submit();">
{{ __('Logout') }}
</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
@csrf
</form>
</div>
</div>
</div>
<div class="main-section">
<router-view></router-view>
</div>
</div>
</div>
</div>
<script src="{{ asset('js/app.js') }}"></script>
<script src="{{ asset('js/admin.js') }}"></script>
</body>
</html>
Sebelum kita lihat di browser, buka terminal terlebih dahulu dan jalankan perintah dibawah ini:npm run watchBuka 2 terminal jalankan php artisan serve.
Selanjutnya: Menu Admin.
Urutan part / bagian dari tutorial ini bisa dilihat disini.


