当前位置: 首页 > news >正文

前后端分离-小项目-1前端布局

技术栈

前后端分离开发,前端主体框架Vue3+后端基础框架Spring-Boot

1.前端技术栈:Vue3+Axios+ElementPlus

2.后端技术栈:Spring Boot+MyBatis Plus

3.数据库-MySQL

4.项目的依赖管理-Maven

5.分页-MyBatis Plus的分页插件


环境搭建

  1. 安装Node.js LTS

node.js的npm,用于管理前端项目包依赖

cmd->node -v查看版本号,以检测是否安装。/如果没有安装,就查看以前的安装过程

  1. 创建Vue项目

  • 新建一个保存前端页面的文件夹,然后在该文件夹地址栏cmd->vue create springboot_vue

  • 选择

>Manually select features

  • 空格键选中*

*babel 默认勾选

*Router勾选

*Vuex 勾选

Linter / Formatter(默认,取消该选择) 要求严谨,不能有错,对新手不友善

  • 选择>vue3的项目

  • history model?y

  • placing config?包的管理方式>In package.json

  • 保存当前预设给将来使用preset?y

  • 保存预设命名为as:springboot_vue_stein

  • 整个过程注意保持网络畅通。如果出现问题,重新走一遍。

  • 完成后执行提示的两个语句。先cd,在npm

  • 然后按提示地址能够访问页面便成功了。

  1. 使用idea打开springboot._vue项目,并配置项目启动

1)直接将springboot._vue项目拖到idea

2)配置springboot_vue使用npm方式启动

  • 点开组件栏的“启动框”选择Edit Configurations...

  • 左上角“+”号,找到npm

  • 右边窗口:Scripts:serve。然后Apply、Ok

  1. 我们会使用到element-plus,停止项目,安装element-plus插件

element-plus官方文档--https://element-plus.gitee.io/#/zh-CN/component/layout,指南->安装,找到下面这个安装指令。在该项目下执行安装指令。

  • 安装包管理器

# NPM
$ npm install element-plus --save
  1. 配置Vue服务端口

在vue.config.js里面配置端口号。重新运行npm即可

module.exports = {devServer: {port: 10000}
}

创建基础页面

目标:使用Vue3+ElementPlus完成该界面

实现过程:

  1. 清除不用内容和组件

  • 清空App.vue

  • 清理HomeView

  • 删除HelloWorld.vue,

  1. 创建Header.vue

  1. 创建全局global.css,以备后用

  1. 在main.js引入global.css


Element-Plus的使用

引入Element-Plus

  • 可以参考文档,实际不重复的部分如下。main.js修改

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
.use(ElementPlus)
  • App.vue。添加按钮,测试是否能正常使用。

<template><Header/>Home<el-button>我的按钮</el-button> #添加了该行
</template>
  • 增加右上角个人设置。Header.vue里面添加

<el-dropdown>伪代码:该部分中间的内容。参看文档</el-dropdown>
  • 左侧边栏,新建组件Aside.vue。参见Menu菜单->侧栏

<el-menu>标签内的代码
  • 固定宽度,避免打开/关闭导航栏,引起来回缩进

  <el-menu  style="width:200px">
  • App.vue三分页面。头左右。需要引入前面写好的Aside

<template><div><!--头--><Header/><div style="display: flex"><!--左侧边栏--><Aside/><!--右侧显示内容--><router-view style="flex:1"/></div></div>
</template>
  • 测试右侧展示页面HomeView.vue

  • HomeView添加el-button即可查看

<el-button>测试按钮</el-button>
  • HomeView.vue引入表格内容

  • 引入表格元素

  • sortable 加入可排序属性

    <el-table:data="tableData"style="width: 100%"><el-table-column prop="date" sortable label="Date" width="180" /><el-table-column prop="name" label="Name" width="180" /><el-table-column prop="address" label="Address" /></el-table></div>
  • 关联数据。注意数据的格式。data(){return{keyword:[ ]

export default {
//新增内容:添加数据池。注意格式
,data(){return{tableData:[{date: '2016-05-03',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},{date: '2016-05-02',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},{date: '2016-05-04',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},{date: '2016-05-01',name: 'Tom',address: 'No. 189, Grove St, Los Angeles',},
]}}
}
  • 国际化。参看文档->指南->国际化

添加引入,修改使用,注意合并重复的语句。然后页面可以看到中文提示

import zhCn from 'element-plus/dist/locale/zh-cn.mjs'app.use(ElementPlus, {locale: zhCn,
})
  • 添加固定列表格

  • 自定义内容需要使用该行数据时,声明#default="scope'",再通过scope.row获取数据。

  • 插槽机制。可以拿到其他行的数据来进行修改

      <el-table-column fixed="right" label="操作" width="120"><template #default="scope"><el-button link type="primary" size="small" @click="handleEdit(scope.row)">编辑</el-button><el-button link type="primary" size="small">删除</el-button></template></el-table-column>
  • 编写handleEdit()方法

  • 待完善

  • 添加新增、其他按键

<div style="margin:5px 2px"><el-button type="primary">新增</el-button><el-button>其他</el-button></div>
  • 添加搜索栏

 <div style="margin-left: 2px"><el-input v-model="input" style="width:260px" placeholder="请输入关键字"/><el-button style="margin-left: 5px" type="primary">查询</el-button></div>

http://www.lryc.cn/news/4320.html

相关文章:

  • 基于jsp的网络电子相册的设计与实现
  • Python快速上手系列--类--详解篇
  • Dubbo基本原理和用法讲解
  • TCP详解及面试相关问题
  • LVGL V9.0基于VS2022仿真搭建
  • 多线程面试题开胃菜2(5道)
  • 第三次作业
  • 基础算法(直接插入,希尔排序,快排,归并,折半查找)
  • 电子学会2022年12月青少年软件编程(图形化)等级考试试卷(一级)答案解析
  • 基于JAVA的超级玛丽设计与实现
  • 硬件工程师入门基础知识(一)基础元器件认识(二)
  • Python-项目实战--贪吃蛇小游戏-游戏框架搭建(2)
  • JVM基础
  • Android 内存优化(基础轮)必看~
  • STM32单片机GSM短信自动存取快递柜
  • 力扣(LeetCode)410. 分割数组的最大值(2023.02.12)
  • 管理还原数据
  • c的关键字有那些
  • 链表OJ(一)
  • MySQL第三次作业
  • Python中的类和对象(7)
  • 【JVM】7种经典的垃圾收集器
  • 2023/2/12总结
  • Linux之正则表达式
  • 前端高频面试题-HTML和CSS篇(一)
  • Redis 专题总结
  • 【Python百日进阶-Web开发-Vue3】Day515 - Vue+ts后台项目2:登录页面
  • 【博客620】prometheus如何优化远程读写的性能
  • redis可视工具AnotherRedisDesktopManager的使用
  • 【idea】idea生产类注释和方法注释