??前言
本篇博文是關(guān)于Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分離)【二】的,希望你能夠喜歡
??個人主頁:晨犀主頁
??個人簡介:大家好,我是晨犀,希望我的文章可以幫助到大家,您的滿意是我的動力????
??歡迎大家:這里是CSDN,我總結(jié)知識的地方,歡迎來到我的博客,感謝大家的觀看??
如果文章有什么需要改進(jìn)的地方還請大佬不吝賜教 先在此感謝啦??
Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分離)【二】
項目介紹
項目功能/界面
項目操作界面
技術(shù)棧
前后端分離開發(fā), 前端主體框架Vue3 + 后端基礎(chǔ)框架Spring-Boot
- 前端技術(shù)棧: Vue3+Axios+ElementPlus
- 后端技術(shù)棧: Spring Boot + MyBatis Plus
- 數(shù)據(jù)庫-MySQL
- 項目的依賴管理-Maven
- 分頁-MyBatis Plus 的分頁插件
實(shí)現(xiàn)功能02-創(chuàng)建項目基礎(chǔ)界面
需求分析/圖解
思路分析
- 使用Vue3+ElementPlus 完成
代碼實(shí)現(xiàn)
- 修改springboot_vue\src\App.vue 成如下形式, 會刪除部分用不上的代碼,增加
<template>
<div>
</div>
</template>
<style>
</style>
- 修改springboot_vue\src\views\HomeView.vue
<template>
<!-- 去掉class="home"-->
<div>
<!-- <img alt="Vue logo" src="../assets/logo.png">-->
<!-- <HelloWorld msg="Welcome to Your Vue.js App"/>-->
</div>
</template>
<script>
// @ is an alias to /src
// import HelloWorld from '@/components/HelloWorld.vue'
export default {
name: 'HomeView',
components: {
// HelloWorld
}
}
</script>
- 刪除springboot_vue\src\components\HelloWorld.vue
- 創(chuàng)建springboot_vue\src\components\Header.vue
<template>
<div style="height: 50px; line-height: 50px; border-bottom: 1px solid #ccc; display:
flex">
<div style="width: 200px; padding-left: 30px; font-weight: bold; color: dodgerblue">后臺管理</div>
<div style="flex: 1"></div>
<div style="width: 100px">下拉框</div>
</div>
</template>
<script>
export default {
name: "Header"
}
</script>
<style scoped>
</style>
- 修改springboot_vue\src\App.vue , 引入Header 組件
<template>
<div>
<Header />
Home
</div>
</template>
<style>
</style>
<script>
import Header from "@/components/Header";
export default {
name: "Layout",
components: {
Header
}
}
</script>
- 創(chuàng)建全局的global.css(先準(zhǔn)備著, 后面有用) , 以后有全局樣式就可以寫在這里,springboot_vue\src\assets\css\global.css
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
- 修改springboot_vue\src\main.js , 引入global.css
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import '@/assets/css/global.css'
createApp(App).use(store).use(router).mount('#app')
- 修改springboot_vue\src\main.js, 引入Element Plus ,并測試, 如何引入,
文檔https://element-plus.gitee.io/zh-CN/guide/quickstart.html
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import '@/assets/css/global.css'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
createApp(App).use(store).use(router).use(ElementPlus).mount('#app')
- 修改springboot_vue\src\App.vue , 引入一個el-button,看看是否生效
<template>
<div>
<Header />
Home <el-button>我的按鈕</el-button>
</div>
</template>
<style>
</style>
<script>
import Header from "@/components/Header";
export default {
name: "Layout",
components: {
Header
}
}
</script>
-
修改springboot_vue\src\components\Header.vue ,引入下拉框,
文檔https://doc-archive.element-plus.org/#/zh-CN/component/dropdown【是舊版對應(yīng)的文檔】
<template>
<div style="height: 50px; line-height: 50px; border-bottom: 1px solid #ccc; display:
flex">
<div style="width: 200px; padding-left: 30px; font-weight: bold; color: dodgerblue">后臺管理</div>
<div style="flex: 1"></div>
<div style="width: 100px">
<el-dropdown>
<span class="el-dropdown-link">
tom
<i class="el-icon-arrow-down el-icon--right"></i>
</span>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item>個人信息</el-dropdown-item>
<el-dropdown-item>退出登錄</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
</div>
</template>
<script>
export default {
name: "Header"
}
</script>
<style scoped>
</style>
-
創(chuàng)建側(cè)邊欄組件, 并引入導(dǎo)航菜單組件springboot_vue\src\components\Aside.vue ,
參考文檔:https://doc-archive.element-plus.org/#/zh-CN/component/menu
粘貼的代碼要注意:
<template>
<div>
<!-- 說明-->
<!-- 先去掉, 這兩個方法, 否則會報錯-->
<!-- @open="handleOpen"-->
<!-- @close="handleClose"-->
<el-menu default-active="2" class="el-menu-vertical-demo">
<el-sub-menu index="1">
<template #title>
<i class="el-icon-location"></i>
<span>導(dǎo)航一</span>
</template>
<el-menu-item-group>
<template #title>分組一</template>
<el-menu-item index="1-1">選項1</el-menu-item>
<el-menu-item index="1-2">選項2</el-menu-item>
</el-menu-item-group>
<el-menu-item-group title="分組2">
<el-menu-item index="1-3">選項3</el-menu-item>
</el-menu-item-group>
<el-sub-menu index="1-4">
<template #title>選項4</template>
<el-menu-item index="1-4-1">選項1</el-menu-item>
</el-sub-menu>
</el-sub-menu>
<el-menu-item index="2">
<i class="el-icon-menu"></i>
<template #title>導(dǎo)航二</template>
</el-menu-item>
<el-menu-item index="3" disabled>
<i class="el-icon-document"></i>
<template #title>導(dǎo)航三</template>
</el-menu-item>
<el-menu-item index="4">
<i class="el-icon-setting"></i>
<template #title>導(dǎo)航四</template>
</el-menu-item>
</el-menu>
</div>
</template>
<script>
export default {
name: "Aside"
}
</script>
<style scoped>
</style>
- 修改springboot_vue\src\App.vue, 將頁面分成三個部分
<template>
<div>
<!-- 頭部-->
<Header />
<!-- 主體-->
<div style="display: flex">
<!-- 側(cè)邊欄-->
<Aside />
<!-- 內(nèi)容區(qū)域,表格, 這個部分是從HomeView.vue 組件來的-->
<router-view style="flex: 1" />
</div>
</div>
</template>
<style>
</style>
<script>
import Header from "@/components/Header";
import Aside from "@/components/Aside";
export default {
name: "Layout",
components: {
Header,
Aside
}
}
</script>
- 修改springboot_vue\src\views\HomeView.vue, 加入一個el-button,進(jìn)行測試
<template>
<div>
<el-button>我的按鈕</el-button>
</div>
</template>
<script>
// @ is an alias to /src
export default {
name: 'HomeView',
components: {
}
}
</script>
- 看看主頁面的效果, 基本結(jié)構(gòu)已經(jīng)出來了
- 對主頁面進(jìn)行一個完善, 比如導(dǎo)航欄的寬度, 去掉不必要的子菜單等, 修改springboot_vue\src\components\Aside.vue
<template>
<div>
<!-- 說明-->
<!-- 先去掉, 這兩個方法, 否則會報錯-->
<!-- @open="handleOpen"-->
<!-- @close="handleClose"-->
<el-menu style="width: 200px" default-active="2" class="el-menu-vertical-demo">
<el-sub-menu index="1-4">
<template #title>選項4</template>
<el-menu-item index="1-4-1">選項1</el-menu-item>
</el-sub-menu>
<el-menu-item index="2">
<i class="el-icon-menu"></i>
<template #title>導(dǎo)航二</template>
</el-menu-item>
<el-menu-item index="3" disabled>
<i class="el-icon-document"></i>
<template #title>導(dǎo)航三</template>
</el-menu-item>
<el-menu-item index="4">
<i class="el-icon-setting"></i>
<template #title>導(dǎo)航四</template>
</el-menu-item>
</el-menu>
</div>
</template>
<script>
export default {
name: "Aside"
}
</script>
<style scoped>
</style>
- 修改springboot_vue\src\views\HomeView.vue , 引入表格,后面來顯示數(shù)據(jù), 參考文檔
<template>
<!-- 去掉class="home"-->
<div>
<!-- <img alt="Vue logo" src="../assets/logo.png">-->
<!-- <HelloWorld msg="Welcome to Your Vue.js App"/>-->
<!-- <el-button>我的按鈕</el-button> -->
<!-- 去掉字段的width, 讓其自適應(yīng)-->
<el-table :data="tableData" stripe style="width: 90%">
<el-table-column prop="date" label="日期"></el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
</el-table>
</div>
</template>
<script>
// @ is an alias to /src
// import HelloWorld from '@/components/HelloWorld.vue'
export default {
name: 'HomeView',
components: {
// HelloWorld
},
data() {
return {
tableData: []
}
}
}
</script>
-
可以看到, element-plus 默認(rèn)是英文的, 我們將其國際化一下https://doc-archive.element-plus.org/#/zh-CN/component/i18n ,
修改springboot_vue\src\main.js
import {createApp} from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import '@/assets/css/global.css'
import zhCn from 'element-plus/es/locale/lang/zh-cn'
createApp(App).use(store).use(router).use(ElementPlus,{locale: zhCn,}).mount('#app')
- 修改springboot_vue\src\views\HomeView.vue, 從官網(wǎng)設(shè)置一些測試數(shù)據(jù), 并支持日期排序
<template>
<!-- 去掉class="home"-->
<div>
<!-- <img alt="Vue logo" src="../assets/logo.png">-->
<!-- <HelloWorld msg="Welcome to Your Vue.js App"/>-->
<!-- <el-button>我的按鈕</el-button>-->
<el-table :data="tableData" stripe style="width: 90%">
<el-table-column sortable prop="date" label="日期"></el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
</el-table>
</div>
</template>
<script>
// @ is an alias to /src
// import HelloWorld from '@/components/HelloWorld.vue'
export default {
name: 'HomeView',
components: {
// HelloWorld
},
data() {
return {
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路1518 弄',
},
{
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路1517 弄',
},
{
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路1519 弄',
}
]
}
}
}
</script>
- 修改springboot_vue\src\views\HomeView.vue, 增加相關(guān)的操作按鈕和搜索框, 參考el-input 組件文檔, 表格的固定列文檔
<template>
<!-- 去掉class="home"-->
<div>
<div style="margin: 10px 0">
<el-button type="primary">新增</el-button>
<el-button>其它</el-button>
</div>
<!-- 搜索-->
<div style="margin: 10px 0">
<el-input v-model="search" placeholder=" 請輸入關(guān)鍵字" style="width:
30%"></el-input>
<el-button style="margin-left: 10px" type="primary">查詢</el-button>
</div>
<el-table :data="tableData" stripe style="width: 90%">
<el-table-column sortable prop="date" label="日期"></el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="address" label="地址"></el-table-column>
<el-table-column fixed="right" label="操作" width="100">
<template #default="scope">
<el-button @click="handleEdit(scope.row)" type="text">編輯</el-button>
<el-button type="text">刪除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
// @ is an alias to /src
// import HelloWorld from '@/components/HelloWorld.vue'
export default {
name: 'HomeView',
components: {
// HelloWorld
},
data() {
return {
search: '',
tableData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路1518 弄',
},
{
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路1517 弄',
},
{
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀區(qū)金沙江路1519 弄',
}
]
}
},
methods: {
handleEdit() {
}
}
}
</script>
------運(yùn)行效果-------
??熱門專欄推薦
Thymeleaf快速入門及其注意事項
Spring Initailizr–快速入門–SpringBoot的選擇
帶你了解SpringBoot支持的復(fù)雜參數(shù)–自定義對象參數(shù)-自動封裝
Rest 優(yōu)雅的url請求處理風(fēng)格及注意事項文章來源:http://www.zghlxwxcb.cn/news/detail-671774.html
文章到這里就結(jié)束了,如果有什么疑問的地方請指出,諸大佬們一起來評論區(qū)一起討論??
希望能和諸大佬們一起努力,今后我們一起觀看感謝您的閱讀??
如果幫助到您不妨3連支持一下,創(chuàng)造不易您們的支持是我的動力??文章來源地址http://www.zghlxwxcb.cn/news/detail-671774.html
到了這里,關(guān)于Spring Boot(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot 前后端分離)【二】的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!