Ở bài trước chúng ta đã làm xong các items sau:
- Layout
- Components
- Ráp các components vào layout
Tiếp theo mình sẽ hướng dẫn các bạn đưa Boostrap vào và style cho đẹp nhé. Nào Start thôi
Thêm Boostrap & File style
Thêm file admin.css này vào folder public\css\
Mở file public\index.html ra và nhúng các thư viện boostrap cũng như font-awesome vào
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link href="<%= BASE_URL %>css/admin.css" rel="stylesheet" />
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.0/css/all.css" integrity="sha384-lZN37f5QGtY3VHgisS14W3ExzMWZxybE1SJSEsQp9S+oqd12jhcu+A56Ebc1zFSJ" crossorigin="anonymous">
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.bundle.min.js"
crossorigin="anonymous"
></script>
</body>
</html>
Sửa component Header
<template>
<nav class="sb-topnav navbar navbar-expand navbar-dark bg-dark">
<a class="navbar-brand" href="/">
Demo Admin Dashboard
</a>
<ul
class="d-none d-md-inline-block form-inline ml-auto mr-0 mr-md-3 my-2 my-md-0 navbar-nav"
>
<li class="nav-item dropdown">
<a
class="nav-link dropdown-toggle"
id="userDropdown"
href="#"
role="button"
data-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false"
>
<i class="fas fa-user fa-fw"></i>
</a>
<div
class="dropdown-menu dropdown-menu-right"
aria-labelledby="userDropdown"
>
<a class="dropdown-item" href="#">Settings</a>
<a class="dropdown-item" href="#">Activity Log</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Logout</a>
</div>
</li>
</ul>
</nav>
</template>
Sửa component Sidebar
<template>
<div id="layoutSidenav_nav">
<nav class="sb-sidenav accordion sb-sidenav-dark" id="sidenavAccordion">
<div class="sb-sidenav-menu">
<div class="nav">
<div class="sb-sidenav-menu-heading">Home</div>
<a class="nav-link" href="/">
<div class="sb-nav-link-icon">
<i class="fas fa-tachometer-alt"></i>
</div>Dashboard
</a>
<div class="sb-sidenav-menu-heading">Result</div>
<a
class="nav-link"
href="/list-page"
>
<div class="sb-nav-link-icon">
<i class="fas fa-table"></i>
</div>List Page
</a>
</div>
</div>
<div class="sb-sidenav-footer">
<div class="small">Logged in as:</div>webkhoiviet.com
</div>
</nav>
</div>
</template>
Sửa component Footer
<template>
<footer class="py-4 bg-light mt-auto">
<div class="container-fluid">
<div class="d-flex align-items-center justify-content-between small">
<div class="text-muted">Copyright © 2020 webkhoiviet.com</div>
</div>
</div>
</footer>
</template>
Sửa src\layout\AdminDashboard.vue
<template>
<div>
<Header />
<div id="layoutSidenav">
<SideBar />
<div id="layoutSidenav_content">
<main>
<div class="container-fluid">
<!-- Page content -->
<slot name="LayoutContent" />
<!-- Page content -->
</div>
</main>
</div><!--end #layoutSidenav_content -->
<Footer />
</div><!-- end #layoutSidenav -->
</div>
</template>
<script>
import Header from '../components/common/Header.vue'
import Footer from '../components/common/Footer.vue'
import SideBar from '../components/common/SideBar.vue'
export default {
name: 'AdminDashboard',
components: {
Header,
Footer,
SideBar
}
}
</script>
Kết quả:

Ở bài tiếp theo mình sẽ hướng dẫn các bạn tích hợp điều hướng các menu trong Dashboard nhé.