VUE基础知识九 ElemrntUI项目

news2024/11/15 1:48:39

ElementUI官网

一 项目

最终完成的效果:
在这里插入图片描述
切换上边的不同按钮,下方显示不同的表格数据

在src/components下新建不同业务组件的文件夹
在这里插入图片描述

1.1 搭建项目

使用脚手架搭建项目后,引入ElementUI(搭建、引入ElementUI步骤在第七节里已经详细介绍了)
在这里插入图片描述
改造项目入口App.vue
在这里插入图片描述
首页App.vue里的<router-view>默认对应的就是左侧router/index.js文件

新建首页src/components/index.vue文组件
在这里插入图片描述
把首页组件注册到路由里
在这里插入图片描述
访问:
在这里插入图片描述

1.2 在访问项目地址时,直接路由到首页(不需要加index后缀)

首页地址:src/components/index.vue,在路由的js文件里里,新建一个根路由/,重定向到index,index又会自动路由到index.vue页面
在这里插入图片描述

1.3 设计主页面src/components/index.vue组件

先直接复制ElemrntUI官网Container组件,分为上下两大块,然后进行改造
在这里插入图片描述
最上边的头部使用NavMenu 导航菜单
在这里插入图片描述
把导航菜单代码复制到头部里
在这里插入图片描述
在这里插入图片描述

删除没必要的内容后:
在这里插入图片描述
在这里插入图片描述

由于main区域是动态改变的,所以这里肯定是一个路由组件,这里的组件来自于左侧各个业务提供的组件页面
在这里插入图片描述
新建各个组件,并注册到路由里
在这里插入图片描述
现在解决点击首页头部里的按钮,改变下边main数据的逻辑,首页<el-menu>有一个点击事件(点击<el-menu>下的子节点时触发的事件)

在这里插入图片描述
事件里接收两个参数:key、keyPath
在这里插入图片描述

修改index的值
在这里插入图片描述

把默认值改为index首页的组件,并打印拿到的俩参数值
在这里插入图片描述

点击上边的按钮,就会达到对应的组件index值
在这里插入图片描述
由上边可知,事件里能拿到路由地址,所以在事件里做路由切换即可
在这里插入图片描述
测试:
在这里插入图片描述
在这里插入图片描述
发现头部组件被覆盖掉了,不是只刷新main部分,与我们的需求不符合,即我们需要无论再怎么路由,头部的导航栏不能消失

把主页index.vue里的头部全部剪切放到App.vue里(剪切下边的内容)
在这里插入图片描述
剪切后此处只写主页
在这里插入图片描述
剪切的内容放到App.vue里,下边红框里作为公共内容,以后一直存在,不会因为路由而消失在这里插入图片描述把index里js的数据也剪切走在这里插入图片描述
放到App.vue里
在这里插入图片描述
效果
在这里插入图片描述
切换:
在这里插入图片描述

1.4 main主页添加轮播图

轮播图在ElemrntUI里对应的组件是走马灯组件
在这里插入图片描述
把代码和样式复制到项目里,并且放几张图片在项目里
在这里插入图片描述
首页组件里引入这些图片,并且定义一个数组,数组里的内容就是引入的图片,在上边的代码里循环这些数组
在这里插入图片描述
图片展示风格,参考image图片组件
在这里插入图片描述
复制到代码里

在这里插入图片描述
效果
在这里插入图片描述

发现不美观,我们把宽高去掉
在这里插入图片描述
在这里插入图片描述
发现图片展示不全,需要调整图片高度
在这里插入图片描述

在这里插入图片描述
如果需要图片填充满的话,使用fill
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.5 用户管理界面

在这里插入图片描述
复制到用户管理对应组件代码里

数据:
在这里插入图片描述
在这里插入图片描述
这里数据是写死的,我们需要结合后端springboot来把数据做活
后端接口:
在这里插入图片描述

注意,前端端口8080.后端端口8089,所以肯定存在跨域

此时前端需要发ajax请求,脚手架需要安装axios

# 安装axios
npm -i --save axios
# 或者
cnpm install axios --save
# 或者
npm install --save axios

在main.js里使用axios
在这里插入图片描述
当用户管理界面组件初始化之后,就去渲染数据

在这里插入图片描述
created:组件初始化之后执行的逻辑;

浏览器地址输入users组件地址,但是发现页面还是在首页在这里插入图片描述
是因为路由激活这里写死了,默认激活的是index首页组件

在这里插入图片描述
path改为当前路由路径即可
在这里插入图片描述
完成添加按钮逻辑

点击添加按钮时,加一些过渡动画
在这里插入图片描述
复制动画代码和样式
在这里插入图片描述

在这里插入图片描述
此时,点击添加按钮时,下边的框就会有动画了,我们把下边的框换为自己的想要的form弹框即可,把赋值过来的style样式改一下大小
在这里插入图片描述

复制一个form表单(包括假数据、method)到代码里
在这里插入图片描述
把这里的内容替换为form表单即可
在这里插入图片描述
在这里插入图片描述
构建form表单
在这里插入图片描述
在这里插入图片描述
后台接口

统一返回结果封装
在这里插入图片描述
在这里插入图片描述
前端调后端接口
在这里插入图片描述
把消息成功风格的代码复制进去
在这里插入图片描述
在这里插入图片描述
添加成功后,要重新渲染页面
在这里插入图片描述
此时,created方法里调的方法,也挪一下
在这里插入图片描述
在这里插入图片描述

数据越来越多的话,页面被撑大,可以给页面设置高度,不让他无限制增长(即添加滚动条)
在这里插入图片描述

右侧有滚动条了
在这里插入图片描述
删除功能
在这里插入图片描述
js
在这里插入图片描述

后端接口
在这里插入图片描述
上边的删除直接就删了,不太友好,可以加一个“确认删除”的提示——气泡确认框
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
编辑功能
点击“编辑”时,复用添加的弹框,实现编辑操作
在这里插入图片描述
在这里插入图片描述
点完编辑后,弹框里与数据看,那点击添加的时候,就得清空表单

添加按钮起一个方法,性别设置一个默认值:
在这里插入图片描述
添加重置按钮
在这里插入图片描述
在这里插入图片描述
保存的逻辑
在这里插入图片描述

后端
在这里插入图片描述

1.6 添加表单验证

在这里插入图片描述
在这里插入图片描述
注意,上边的属性是表单的属性
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
保存时也进行校验,不提交表单
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在提交方法里进行验证
在这里插入图片描述

1.7 Pagination分页组件

在这里插入图片描述

在表格下加一个分页组件
在这里插入图片描述
效果
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
注意,pagesize必须是pagesizes的子元素
在这里插入图片描述
添加事件
在这里插入图片描述

在这里插入图片描述
后台代码需要改为分页查询,不能再查询所有了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前端js以后就访问分页方法了
在这里插入图片描述
总条数就不写死了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pagesize与当前页也不写死
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

1.8 解决ElementUI日期组件日期不正确的问题

组件里选择的是2022-5-28,但是保存到后台却是2022-5-27
在这里插入图片描述
在这里插入图片描述
解决办法:添加一个value-format属即可解决

在这里插入图片描述

二 部署ElemrntUI项目

先执行编译命令

npm run build

执行后生成一个dist文件
在这里插入图片描述
把static和index.html直接复制到springboot项目里的resource下的static里
在这里插入图片描述
配置静态资源路径
在这里插入图片描述

以后直接启动一个springboot,访问springboot的端口就行了,不需要单独启动前端项目了。访问localhost:8989,就会自动路由到localhost:8989/index首页
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1468565.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第二篇:CamX初认识(框架、代码结构介绍)

第二篇:CamX初认识 这篇文章分下面几点来展开: 1、CamX整体架构图; 2、CamX基本组件及其概念; 3、CamX代码目录结构; 4、CamX相关名词; 一、CamX整体架构图 目前Android主流的机型,采用高通芯片的,使用的基本都是camx架构。 之前旧的架构叫做mm-camera,camx架构…

【风格迁移】CAST:对比学习,从图像特征而非其二阶统计量(Gram矩阵)中学习风格

CAST&#xff1a;对比学习&#xff0c;从图像特征而非其二阶统计量&#xff08;Gram矩阵&#xff09;中学习风格 提出背景5 why 分析5 so分析 CAST 框架多层风格投影器领域增强模块生成网络 效果对比 StyleGAN 提出背景 论文&#xff1a;https://arxiv.org/pdf/2205.09542.pdf…

黑色金属冶炼5G智能工厂数字孪生可视化管控系统,推进金属冶炼行业数字化转型

黑色金属冶炼5G智能工厂数字孪生可视化管控系统&#xff0c;推进金属冶炼行业数字化转型。随着科技的不断发展&#xff0c;数字化转型已经成为各行各业发展的必然趋势。金属冶炼行业作为传统工业的重要组成部分&#xff0c;也面临着数字化转型的挑战和机遇。为了推进金属冶炼行…

线段树学习笔记 下

可持久化线段树 上面两篇是几年前写的&#xff0c;笔者今日才加以整理&#xff0c;如有错误请见谅。 线段树加上版本就是可持久化线段树。 Problem Intro 给定一个数组&#xff0c;只需要单点修改和单点查询&#xff0c;但要维护版本。 具体说&#xff0c;每一次操作可能从…

Python算法100例-2.3 求车速

完整源代码项目地址&#xff0c;关注博主私信源代码后可获取 1.问题描述2.问题分析3.算法设计4.确定程序框架5.完整的程序6.问题拓展 1&#xff0e;问题描述 一辆以固定速度行驶的汽车&#xff0c;司机在上午10点看到里程表上的读数是一个对称数&#xff08;即这个数从左向右…

解决vscode每次git pull/push都需要输入账号密码

git如何设置用户名 邮箱 密码 //设置用户 git config --global user.name "xxx"//设置邮箱 git config --global user.email "xxxxxx.com"//设置密码 git config --global user.password "xxxxx"解决每次git pull/push操作都需要输入密码 git …

【安卓基础3】Activity(一)

&#x1f3c6;作者简介&#xff1a;|康有为| &#xff0c;大四在读&#xff0c;目前在小米安卓实习&#xff0c;毕业入职 &#x1f3c6;本文收录于 安卓学习大全&#xff0c;欢迎关注 &#x1f3c6;安卓学习资料推荐&#xff1a; 视频&#xff1a;b站搜动脑学院 视频链接 &…

VMware虚拟机从一台电脑复制到另一台电脑

1 概述 在一台电脑上利用虚拟机安装了OS系统&#xff0c;特别是如果虚拟机中的系统进行了各种繁琐的配置&#xff0c;因为换电脑或者需要在其他电脑上配置&#xff0c;这个时候就可以将虚拟机中的系统复制拷贝一份到新电脑上&#xff0c;省时省力。 2 操作步骤 2.1 vmx文件 …

Mac OS 搭建C++开发环境【已解决】

Mac OS 搭建C开发环境 文章目录 Mac OS 搭建C开发环境一、安装命令行工具&#xff1a;二、安装vscode三、安装gcc3.1 安装Homebrew3.2 安装gcc3.3 修改配置 四、更改VSCode默认编译器五、安装gdb六、安装Cmake && git七、编译运行 本地环境&#xff1a; Mac OS Sonoma …

LabVIEW高效核磁测井仪器多线程优化

LabVIEW高效核磁测井仪器多线程优化 为提高核磁测井仪器的测试效率与性能&#xff0c;开发了基于LabVIEW的多线程优化模型。该研究针对传统的核磁测井仪器软件&#xff0c;在多任务调度测试和并行技术需求上存在的效率不高和资源利用率低的问题&#xff0c;提出了一个多线程优…

算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习一(leetcode真题剖析)

算法沉淀——穷举、暴搜、深搜、回溯、剪枝综合练习一 01.全排列02.子集03.找出所有子集的异或总和再求和04.全排列 II05.电话号码的字母组合 01.全排列 题目链接&#xff1a;https://leetcode.cn/problems/permutations/ 给定一个不含重复数字的数组 nums &#xff0c;返回其…

二十六、直方图均衡化

项目功能实现&#xff1a;对灰度图片进行直方图均衡化操作 按照之前的博文结构来&#xff0c;这里就不在赘述了 一、头文件 histogram_equal.h #pragma once#include<opencv2/opencv.hpp>using namespace cv;class HISTOGRAM_EQUAL { public:void histogram_equal(Mat…

公众号怎么线上公证?

公众号迁移有什么作用&#xff1f;只能变更主体吗&#xff1f;公众号迁移的作用可不止变更主体这一个哦&#xff01;还可以把 A 账号的粉丝、文章素材、违规记录等迁移到 B 账号上。这样一来&#xff0c;你就可以在不失去原有粉丝的情况下&#xff0c;更好地管理和运营公众号啦…

【MySQL】连接查询和自连接的学习和总结

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-x4sPmqTXA4yupW1n {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

idea 2022.3 配置svn插件

配置中遇到的问题 1.没有安装svn.exe这个 原本是安装了TortoiseSVN 但没有安装客户端命令需要补充这个客户端命令的安装 才能引用 2.路径引用的问题 原本是在 D:\Program Files\TortoiseSVN 这里存在空格 会产生问题 网上说的使用progra~1 或者 加双引号 均不能成功 最…

SolidWorks的使用笔记

K因子 成型工具 自己设计的成型工具零件&#xff0c;保存文件类型为&#xff1a;

Servlet实现图片的上传和显示

本篇文章是在上一篇文章上改进而来 一、图片上传需要引用的jar包 链接&#xff1a;https://pan.baidu.com/s/17FLjlWlNEG5YnS_dl3C8WA 提取码&#xff1a;wbis 二、最后的结果 三、更改数据库增加图片路径字段path 四、前端页面增加图片上传按钮,和上传的复选框 代码 上传…

[c++] 工厂模式 + cyberrt 组件加载器分析

使用对象的时候&#xff0c;可以直接 new 一个&#xff0c;为什么还需要工厂模式 &#xff1f; 工厂模式属于创建型设计模式&#xff0c;将对象的创建和使用进行解耦&#xff0c;对用户隐藏了创建逻辑。 个人感觉上边的表述并没有说清楚为什么需要使用工厂模式。因为使用 new 创…

达尔克仪器设备邀您观摩2024生物发酵产品与技术装备展

参展企业介绍 达尔克本着“诚信、求精、协作、创新”的企业精神&#xff0c;以专业的技术、优良的品质和完善的服务&#xff0c;与广大客户共创辉煌未来。 我们的产品——包括水质分析、压力、温度、流量、物位等工业在线过程控制仪表、其他类型传感器以及自动化控制方案——全…

HTTPS原理及配置

HTTPS 1. 对称加密和非对称加密2. 加密算法&#xff08;了解&#xff09;3. HTTPS 协议介绍4. HTTPS 原理4.1. HTTP 访问过程4.2. HTTPS访问过程4.3. HTTPS 总结4.4. CA 证书认证机构 HTTPS 基本原理 HTTPS&#xff08;全称&#xff1a;HyperText Transfer Protocol over Secur…