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

SSM整合项目(使用Vue3 + Element-Plus创建项目基础页面)

1.配置Vue启动端口

1.修改vue.config.js
const {defineConfig} = require('@vue/cli-service')
module.exports = defineConfig({transpileDependencies: true
})
module.exports = {devServer: {port: 9999 //启动端口}
}
2.启动

image-20240310091319021

2.安装Element Plus

命令行输入 npm install element-plus --save

image-20240310091915697

3.修改Vue3默认样式并自定义一个组件

1.修改App.vue
1.删除原有结构
<template><div></div>
</template><style></style>
2.启动项目查看

image-20240310092602015

2.修改HomeView.vue
<template><div></div>
</template><script>export default {name: 'HomeView',components: {}
}
</script>
3.删除HelloWorld.vue组件

image-20240310092952626

4.创建一个组件 src/components/Header.vue
1.组件解释

image-20240310093749335

2.代码
<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>
5.App.vue引入组件
<template><div><!--使用Header组件--><Header></Header>Home页面</div>
</template>
<script>
//引入Header组件
import Header from "@/components/Header.vue";
//导出Header组件,当前Vue组件的名字为Layout
export default {name: "Layout",components: {Header}
}
</script>
<style></style>

image-20240310094743408

6.本阶段总结

image-20240310095102268

4.创建全局的global.css并引入

1.目录

image-20240310095411715

2.代码
* {margin: 0;padding: 0;box-sizing: border-box;
}
3.解释

image-20240310095531357

4.在main.js引入

image-20240310095652205

5.main.js引入Element-Plus

1.修改main.js

image-20240310100053063

2.测试Element-Plus是否生效
1.打开Element-Plus官方文档,查找一个按钮组件

image-20240310100455302

2.放到App.vue中

image-20240310100540756

3.查看页面,报错

image-20240310100614632

4.尝试解决问题
1.alt + enter安装组件

2.但是报错

Cannot install Node.js module: D:\nodejs(14.17.3)\npm.cmd install element-plus --save Standard error: ‘D:\nodejs’ �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���

5.重装nodejs
1.这次存放在nodejs文件夹下,之前的文件夹是带中文括号的,不知道是不是这个原因

image-20240310103124278

2.配置IDEA的nodejs

image-20240310103238891

3.再次尝试运行,又报错,这次是解释器的问题

Cannot install Node.js module: please specify default Node.js interpreter.

6.配置一下IDEA的Node.js的解释器

image-20240310103440030

7.再次尝试安装,成功!

image-20240310103521618

8.启动项目,成功出现按钮

image-20240310103555975

6.显示个人信息和退出登录的下拉框

1.需求分析

image-20240310103712371

2.去组件库找到下拉框的组件

image-20240310104217930

3.修改自定义组件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"><el-dropdown><span class="el-dropdown-link">Tom</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>
4.效果展示

image-20240310104318827

7.创建侧边栏并调整布局

1.需求分析

image-20240310104510630

2.查找侧边栏组件

image-20240310110323365

3.粘贴到src/components/Aside.vue并修改
<script setup></script><template>
<!--  引入导航菜单--><div><el-menu style="width: 200px"default-active="2"class="el-menu-vertical-demo"><el-sub-menu index="1"><template #title><el-icon><location /></el-icon><span>导航一</span></template><el-menu-item-group title="组一"><el-menu-item index="1-1">选项一</el-menu-item><el-menu-item index="1-2">选项二</el-menu-item></el-menu-item-group><el-sub-menu index="1-4"><template #title>选项四</template><el-menu-item index="1-4-1">选项一</el-menu-item></el-sub-menu></el-sub-menu><el-menu-item index="2"><el-icon><icon-menu /></el-icon><span>导航二</span></el-menu-item><el-menu-item index="3" disabled><el-icon><document /></el-icon><span>导航三</span></el-menu-item><el-menu-item index="4"><el-icon><setting /></el-icon><span>导航四</span></el-menu-item></el-menu>  </div>
</template><style scoped></style>
4.修改App.vue引入Aside组件并布局
<template><div><!--  布局--><div><!--header组件--><Header/><!--主体,弹性布局--><div style="display: flex"><!--侧边栏--><Aside/><!--内容区域,这个部分通过路由来展示,这里路由到HomeView, flex: 1--><!--这里路由的view默认是/也就是HomeView组件--><router-view style="flex: 1"/></div></div></div>
</template>
<script>
//引入Header组件
import Header from "@/components/Header.vue";
//引入Aside
import Aside from "@/components/Aside.vue";
//导出Header组件,当前Vue组件的名字为Layout
export default {name: "Layout",components: {Header,Aside}
}
</script>
<style></style>
5.在路由到的组件HomeView随便放入一个Element组件测试
<template><div><el-empty description="description" /></div>
</template><script>export default {name: 'HomeView',components: {}
}
</script>
6.结果展示

image-20240310112806054

8.修改HomeView.vue添加斑马表格

1.找到组件

image-20240310113750353

2.修改HomeView.vue
<template><div><el-table :data="tableData" stripe style="width: 100%">
<!--      把width去掉,就会自适应--><el-table-column prop="date" label="日期"/><el-table-column prop="name" label="名字"/><el-table-column prop="address" label="地址" /></el-table></div>
</template><script>export default {name: 'HomeView',components: {},//增加一个data,单项绑定tableDatadata() {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',},]}}
}
</script>
3.结果展示

image-20240310113930703

9.Element-Plus国际化

1.官方文档

image-20240310114339565

2.修改main.js进行国际化

image-20240310114417103

3.当表格没有数据时就是中文的暂无数据了

image-20240310114440439

10.从官网设置测试数据,并支持日期排序

1.修改HomeView.vue

image-20240310135357448

2.data更新为中文数据

image-20240310135419200

3.结果展示

image-20240310135441807

11.添加相关的操作按钮和搜索框

1.需求分析

image-20240310140641584

2.修改HomeView.vue
1.增加按钮
<template><div><!--增加按钮和搜索框--><!--magrin代表上下边距为10px,左右边距为5px--><div style="margin: 10px 5px"><el-button type="primary">新增</el-button><el-button>其他</el-button></div><!--再增加一个搜索框并设置边距--><div style="margin: 10px 5px"><!--搜索框,双向绑定一个search--><el-input v-model="search" style="width: 30%" placeholder="请输入关键字"/><el-button type="primary">查找</el-button></div><el-table :data="tableData" stripe style="width: 90%"><!--把width去掉,就会自适应--><el-table-column sortable prop="date" label="日期"/><el-table-column prop="name" label="名字"/><el-table-column prop="address" label="地址"/><!--在表格的最后一列加入两个超链接--><el-table-column fixed="right" label="操作" width="100"><template #default><el-button type="text">编辑</el-button><el-button type="text">删除</el-button></template></el-table-column></el-table></div>
</template>
2.新增data绑定搜索框

image-20240310141728537

3.结果展示

image-20240310141805634

相关文章:

SSM整合项目(使用Vue3 + Element-Plus创建项目基础页面)

1.配置Vue启动端口 1.修改vue.config.js const {defineConfig} require(vue/cli-service) module.exports defineConfig({transpileDependencies: true }) module.exports {devServer: {port: 9999 //启动端口} }2.启动 2.安装Element Plus 命令行输入 npm install eleme…...

css相邻元素边框重合问题,解决方案

1、如下图所示&#xff0c;在给元素设置边框后&#xff0c;相邻元素会出现重合的问题 2、解决方案 给每个元素设置margin-top以及margin-left为负的边框 <div style"width: 300px;display: flex;flex-wrap: wrap;margin-top: 50px;"><div style"border…...

CentOS7 利用remi yum源安装php8.1

目录 前言remi yum源remi yum源 支持的操作系统remi yum源 支持的php版本 安装epel源安装remi源安装 php8.1查看php版本查看php-fpm服务启动php-fpm服务查看php-fpm服务运行状态查看php-fpm服务占用的端口查看 php8.1 相关的应用 前言 CentOS Linux release 7.9.2009 (Core) …...

深入探索Java设计模式:责任链模式解析与实践

目录 一、责任链模式的基础知识1. 模式结构2. 模式示例 二、责任链模式的实际应用1. 请求处理链2. 日志记录器 三、责任链模式的重要性和使用场景结语 欢迎阅读本篇博客&#xff0c;我们将深入探讨Java设计模式中的责任链模式&#xff0c;帮助初学者、初中级程序员和在校大学生…...

如何在项目中应用“API签名认证”

❤ 作者主页&#xff1a;李奕赫揍小邰的博客 ❀ 个人介绍&#xff1a;大家好&#xff0c;我是李奕赫&#xff01;(&#xffe3;▽&#xffe3;)~* &#x1f34a; 记得点赞、收藏、评论⭐️⭐️⭐️ &#x1f4e3; 认真学习!!!&#x1f389;&#x1f389; 文章目录 为什么需要AP…...

【AIGC+VisionPro】空间视频生意的创业者

1. 产品概述 -一款基于人工智能的2D到3D视频/图像转换工具,可将普通的2D视频/图像转换为令人惊艳的3D视觉体验。 - 它支持在PC上进行转换,并输出适用于Meta Quest、Apple Vision Pro等XR设备的3D格式。 2. 产品功能 - 利用尖端的3D AI系统,可将任何视频(Youtube、电影、游戏、…...

word转PDF的方法 简介快速

在现代办公环境中&#xff0c;文档格式转换已成为一项常见且重要的任务。其中&#xff0c;将Word文档转换为PDF格式的需求尤为突出&#xff0c;将Word文档转换为PDF格式具有多方面的优势和应用场景。无论是为了提高文档的可读性和稳定性、保障文档的安全性和保护机制、还是为了…...

【开源】SpringBoot框架开发图书管理系统

目录 一、 系统介绍二、 功能模块2.1 登录注册模块2.1 图书馆模块2.2 图书类型模块2.3 图书模块2.4 图书借阅模块2.5 公告模块 三、 源码解析3.1 图书馆模块设计3.2 图书类型模块设计3.3 图书模块设计3.4 图书借阅模块设计3.5 公告模块设计 四、 免责说明 一、 系统介绍 图书管…...

Java 继承与多态

一、继承 在Java中&#xff0c;继承是一种重要的面向对象编程概念&#xff0c;它允许一个类&#xff08;称为子类或派生类&#xff09;继承另一个类&#xff08;称为父类或基类&#xff09;的属性和方法。这意味着子类可以使用父类的成员变量和方法&#xff0c;并且可以添加自…...

C语言——递归题

对于递归问题&#xff0c;我们一定要想清楚递归的结束条件&#xff0c;每个递归的结束条件&#xff0c;就是思考这个问题的起始点。 题目1&#xff1a; 思路&#xff1a;当k1时&#xff0c;任何数的1次方都是原数&#xff0c;此时返回n&#xff0c;这就是递归的结束条件&#…...

构建空间场景轻应用,Mapmost Alpha来啦【文末赠书(10本)--第一期】

文章目录&#xff1a; 一、Mapmost Alpha 介绍二、Mapmost Alpha应对数字孪生业务痛点解决之道2.1 Mapmost Alpha 提供海量城市底板2.2 Mapmost Alpha 提供便捷的配置管理工具2.3 Mapmost Alpha 提供一键式部署发布和分享 三、沉浸式体验Mapmost Alpha3.1 创建应用3.2 新手指导…...

基于冠豪猪优化算法(Crested Porcupine Optimizer,CPO)的无人机三维路径规划(MATLAB)

一、无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径&#xff0c;使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一&#xff0c;它可以通过算法和模型来确定无人机的航迹&#xff0c;以避开障碍物、优化飞行…...

html2canvas+jsPDF实现前端导出pdf

html2canvasjsPDF实现前端导出pdf 安装插件包 npm install jspdf npm install html2canvas引入插件 import html2canvas from html2canvas; import jsPDF from jspdf;生成pdf const perCanvas document.createElement(canvas);perCanvas.style.backgroundColor #fffconst …...

Paimon新版本核心特性和生产实践解读

最近Apche Paimon发布了最新版本0.7.0&#xff0c;在这个版本中&#xff0c;Paimon对一些新特性进行了增强。 Paimon在数据湖领域发展迅速&#xff0c;未来会在整个数据开发领域占有很重要的地位&#xff0c;今天我们来盘点一下当前能力的特点以及在生产环境中的使用情况。 Loo…...

Java设计模式-策略模式

策略模式1 概述2 结构3 案例实现4 优缺点5 使用场景6 JDK源码解析 策略模式 1 概述 先看下面的图片&#xff0c;我们去旅游选择出行模式有很多种&#xff0c;可以骑自行车、可以坐汽车、可以坐火车、可以坐飞机。 作为一个程序猿&#xff0c;开发需要选择一款开发工具&#x…...

vxe-table配合Export2Excel导出object类型数据{type,count}。表格数据呈现是利用插槽,导出只要count该怎么做

先贴一张数据来&#xff1a; 一、然后是vxe-grid的columns配置&#xff1a; 然后就正常用封装好的Export2Excel就行。 碰到一次在控制台报错&#xff1a; 没复现出来&#xff0c;大概就说是count咋样咋样。 以后碰到的话再说&#xff0c;各位要用的话也注意看看 二、或者 用js…...

Java面试题(主要分清区别!!!)

RequestBody和ResponseBody的区别&#xff1f; RequestBody&#xff1a;接收json或xml数据 ResponseBody的&#xff1a;返回json或xml数据 RestController和Controller的区别&#xff1f; Controller&#xff1a;默认返回的是jsp页面 RestController&#xff1a;返回的是一个js…...

OD_2024_C卷_200分_2、石头剪刀布【JAVA】【逻辑分析】

题目描述 石头剪刀布游戏有 3 种出拳形状&#xff1a;石头、剪刀、布。分别用字母A、B、C表示。 游戏规则&#xff1a; 出拳形状之间的胜负规则如下&#xff1a; A > B&#xff1b; B > C&#xff1b; C > A&#xff1b; “>” 左边一个字母&#xff0c;表示相对…...

矩阵求导笔记

文章目录 1. ML中为什么需要矩阵求导2. 向量函数与矩阵求导初印象3. YX 拉伸术3.1 f(x)为标量&#xff0c;X为列向量3.2 f(x)为列向量&#xff0c;X 为标量3.3 f(x)为列向量&#xff0c;X 为列向量 4. 常见矩阵求导公式4.1 Y A T X YA^TX YATX4.2 Y X T A X YX^TAX YXTAX 1…...

全量知识系统问题及SmartChat给出的答复 之19 关于演示模板

Q.60 可参考的演示模版 (word-def occupiedinterest 5type EBsubclass SEBtemplate (script $Demonstrateactor nilobject nildemands nilmethod (scene $Occupyactor nillocation nil))fill (((actor) (top-of *actor-stack*))((method actor) (t…...

RobotDuLAB:面向K-12教育的Arduino机器人教学库设计

1. RobotDuLAB Arduino库&#xff1a;面向教育场景的嵌入式机器人控制抽象层设计与工程实践1.1 教育型开源机器人的系统定位与硬件架构RobotDuLAB并非通用工业机器人平台&#xff0c;而是一个专为K-12阶段编程教学深度定制的开源教育机器人系统。其核心设计理念是“可理解性优先…...

树莓派Pico W与Zoho Creator API集成

在当今物联网(IoT)设备日益普及的时代,如何将这些小型设备与云服务无缝集成是一个热门话题。本文将详细介绍如何利用树莓派Pico W(Raspberry Pi Pico W)与Zoho Creator API进行数据交互,解决OAuth认证的挑战,并提供一个实际的应用实例。 背景介绍 Zoho Creator是一款强…...

CAN BLF包解析实战:从原始报文到可读数据的Python解码之旅

1. 初识CAN BLF文件&#xff1a;汽车电子的数据宝库 第一次拿到BLF文件时&#xff0c;我盯着那一堆十六进制数据直发懵。这就像拿到一本用外星文字写的日记&#xff0c;明明知道里面记录着重要信息&#xff0c;却完全看不懂内容。BLF文件其实是Vector公司CANoe工具录制的CAN总线…...

从零开始:ArcGIS Pro二次开发环境搭建与首个模块加载项实战

1. 环境准备&#xff1a;从零搭建ArcGIS Pro开发环境 第一次接触ArcGIS Pro二次开发时&#xff0c;我花了整整两天时间才把环境配置好。现在回想起来&#xff0c;其实只要抓住几个关键点就能避开那些坑。首先需要确认的是软件版本匹配问题——这是新手最容易翻车的地方。根据我…...

别再忽略#@save和assert了!Python开发中的这两个小技巧能帮你省下大把时间

Python开发中的高效利器&#xff1a;#save与assert实战指南 在Python开发的世界里&#xff0c;真正区分普通开发者与高效开发者的往往不是对复杂框架的掌握程度&#xff0c;而是对这些看似简单却极其强大的小工具的熟练运用。今天我们要深入探讨的两个工具——#save注释和asser…...

VideoAgentTrek Screen Filter开发指南:使用Git进行版本管理与协作

VideoAgentTrek Screen Filter开发指南&#xff1a;使用Git进行版本管理与协作 如果你正在基于VideoAgentTrek Screen Filter进行二次开发&#xff0c;无论是修改AI模型推理逻辑&#xff0c;还是调整视频过滤规则&#xff0c;很快你就会遇到一个现实问题&#xff1a;代码怎么管…...

【2026奇点大会官方内参】:大模型微调5大避坑指南(含Meta/DeepSeek一线工程师未公开参数配置)

第一章&#xff1a;2026奇点智能技术大会&#xff1a;大模型微调最佳实践 2026奇点智能技术大会(https://ml-summit.org) 数据准备的核心原则 高质量微调始于精准的数据治理。训练样本需满足领域对齐、语义完整性与标注一致性三重标准。建议采用分层采样策略&#xff1a;70% …...

跑得越慢反而越牛?你的身体其实在偷偷“扩容带宽”

第一道坎&#xff1a;你不是跑不动&#xff0c;而是“慢让你觉得丢人”老马今天继续跟你唠跑步这事儿。如果你进过什么本地的跑友群&#xff0c;大概都见过这种场面。周末一大早&#xff0c;群里就开始弹消息&#xff1a;“晨跑10公里&#xff0c;配速4分50&#xff0c;打卡&am…...

Tiny Transformer实战:手把手教你实现轻量级Transformer架构

1. 为什么需要轻量级Transformer&#xff1f; 当你第一次听说Transformer时&#xff0c;可能会被它的强大性能所震撼。但当你真正尝试在本地运行一个标准Transformer模型时&#xff0c;往往会发现它需要消耗惊人的计算资源。我曾在自己的笔记本电脑上尝试训练一个中等规模的Tr…...

二叉搜索树:从原理到应用,解锁高效数据管理

1. 二叉搜索树的核心原理 第一次接触二叉搜索树(BST)时&#xff0c;我被它的简洁和高效深深吸引。想象一下&#xff0c;你有一堆杂乱无章的数据&#xff0c;如何快速找到其中某个特定值&#xff1f;BST给出了一个优雅的解决方案。 BST本质上是一种特殊的二叉树&#xff0c;它遵…...