VUE基础知识九 ElementUI项目

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://xiahunao.cn/news/2812129.html

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

相关文章

现代信号处理学习笔记(二)参数估计理论

参数估计理论为我们提供了一套系统性的工具和方法&#xff0c;使我们能够从样本数据中推断总体参数&#xff0c;并评估估计的准确性和可靠性。这些概念在统计学和数据分析中起着关键的作用。 目录 前言 一、估计子的性能 1、无偏估计与渐近无偏估计 2、估计子的有效性 两个…

Vue-Cropper头像裁剪插件使用

1. 效果预览 2. 插件介绍 官网地址&#xff1a;[GitHub - xyxiao001/vue-cropper: A simple picture clipping plugin for vue](https://github.com/xyxiao001/vue-cropper?fromthosefree.com) 3 . 插件使用 下载插件 npm install vue-croppernext3 . 封装好的代码&#x…

FL Studio Fruity Edition2024中文入门版Win/Mac

FL Studio Fruity Edition2024是一款功能强大的音乐制作软件&#xff0c;适合初学者和音乐爱好者使用。它提供了丰富的音乐制作工具&#xff0c;包括音频录制、编辑、混音以及MIDI制作等功能&#xff0c;帮助用户轻松创作出动人的音乐作品。 FL Studio 21.2.3 Win-安装包下载如…

使用Scrapy将数据提取到数据库中,进行处理

我们将数据处理的方式&#xff0c;最开始csv文件 再到与数据库建立联系 代码&#xff1a; Spider: import scrapyclass ShuangseqiuSpider(scrapy.Spider):name "shuangseqiu"allowed_domains ["sina.com.cn"]start_urls ["https://view.lottery…

[NOIP2011 普及组] 数字反转

AC代码&#xff1a; #include<iostream>using namespace std;int main() {long long n;cin >> n;long long temp n;long long sum 0;while(temp ! 0){int c temp % 10;sum sum * 10 c;temp temp / 10;}printf("%lld",sum);return 0; }

vue3 + vite + ts 中使用less文件全局变量

文章目录 安装依赖新建css变量文件全局引入css变量文件使用css变量 一、安装依赖 npm install less less-loader --save-dev 二、新建CSS变量文件 (1) :在根目录下的src文件中 src-> asset -> css ->glibal.less // glibal.less :root{--public_background_font_Col…

跟着cherno手搓游戏引擎【26】Profile和Profile网页可视化

封装Profile&#xff1a; Sandbox2D.h:ProfileResult结构体和ProfileResult容器&#xff0c;存储相应的信息 #pragma once #include "YOTO.h" class Sandbox2D :public YOTO::Layer {public:Sandbox2D();virtual ~Sandbox2D() default;virtual void OnAttach()ove…

python中的数字类型Number

Python 数字(Number) Python 数字数据类型用于存储数值。 数据类型是不允许改变的&#xff0c;这就意味着如果改变数字数据类型的值&#xff0c;将重新分配内存空间。 以下实例在变量赋值时 Number 对象将被创建&#xff1a; var1 1 var2 10Python 支持三种不同的数值类型…

蜣螂优化算法DBO求解不闭合MD-MTSP,可以修改旅行商个数及起点(提供MATLAB代码)

一、蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09; 蜣螂优化算法&#xff08;Dung beetle optimizer&#xff0c;DBO&#xff09;由Jiankai Xue和Bo Shen于2022年提出&#xff0c;该算法主要受蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为的启发所得…

kubectl使用及源码阅读

目录 概述实践样例yaml 中的必须字段 kubectl 代码原理kubectl 命令行设置pprof 抓取火焰图kubectl 中的 cobra 七大分组命令kubectl createcreateCmd中的builder模式createCmd中的visitor访问者模式外层VisitorFunc分析 结束 概述 k8s 版本 v1.24.16 kubectl的职责 1.主要的…

SQL注入之order by脚本盲注

一、环境 还是用上次搭建的sql-labs靶机环境 搭建sql注入环境 二、什么是order by盲注 在有的时候我们进行sql注入时&#xff0c;源码的查询语句后面为order by&#xff1b; 众所周知&#xff0c;order by 后面接的字段或者数字不一样&#xff0c;那么这个数据表的排序就会…

嵌入式学习第二十一天!(线程)

线程&#xff1a; 1. 基本概念&#xff1a; 线程&#xff1a;线程是一个轻量级的进程&#xff0c;位于进程空间内部&#xff0c;一个进程中可以创建多个线程 2. 线程创建&#xff1a; 线程独占栈空间&#xff0c;文本段、数据段和堆区与进程共享 3. 线程调度&#xff1a; 与进程…

探索比特币现货 ETF 对加密货币价格的潜在影响

撰文&#xff1a;Sean&#xff0c;Techub News 文章来源Techub News&#xff0c;搜Tehub News下载查看更多Web3资讯。 自美国比特币现货交易所交易基金&#xff08;ETF&#xff09;上市以来&#xff0c;比特币现货 ETF 的相关信息无疑成为了影响比特币价格及加密货币市场走向…

Java四大引用详解:强引用、软引用、弱引用、虚引用

在JDK1.2以前的版本中&#xff0c;当一个对象不被任何变量引用&#xff0c;那么程序就无法再使用这个对象。也就是说&#xff0c;只有对象处于可触及状态&#xff0c;程序才能使用它。这就像在商店购买了某样物品后&#xff0c;如果有用就一直保留它&#xff0c;否则就把它扔到…

Spring Boot项目中不使用@RequestMapping相关注解,如何动态发布自定义URL路径

一、前言 在Spring Boot项目开发过程中&#xff0c;对于接口API发布URL访问路径&#xff0c;一般都是在类上标识RestController或者Controller注解&#xff0c;然后在方法上标识RequestMapping相关注解&#xff0c;比如&#xff1a;PostMapping、GetMapping注解&#xff0c;通…

【UnityShader入门精要学习笔记】第六章(1)Unity中的基础光照

本系列为作者学习UnityShader入门精要而作的笔记&#xff0c;内容将包括&#xff1a; 书本中句子照抄 个人批注项目源码一堆新手会犯的错误潜在的太监断更&#xff0c;有始无终 总之适用于同样开始学习Shader的同学们进行有取舍的参考。 文章目录 光照的原理光源吸收和散射着…

LinkedList的使用(Java)

目录 一、介绍二、LinkedList的使用1、LinkedList的构造2、 LinkedList的其他常用方法介绍3、LinkedList的遍历 三、ArrayList和LinkedList的区别 一、介绍 LinkedList的底层是双向链表结构&#xff0c;由于链表没有将元素存储在连续的空间中&#xff0c;元素存储在单独的节点…

开发知识点-.netC#图形用户界面开发之WPF

C#图形用户界面开发 框架简介WinForms(Windows Forms):WPF(Windows Presentation Foundation):UWP(Universal Windows Platform):MAUI(Multi-platform App UI):选择控件参考文章随笔分类 - WPF入门基础教程系列基于C#语言的GUI开发,主要介绍WPF框架

IP对讲终端SV-6002(防水)

SV-6002&#xff08;防水&#xff09;是一款IP对讲终端&#xff0c;具有10/100M以太网接口&#xff0c;其接收网络的音频数据&#xff0c;解码后播放&#xff0c;外部DC12~24V电源供电端子&#xff0c;提供单路2W的音频输出。基于TCP/IP网络通信协议和数字音频技术&#xff0c;…

MATLAB练习题:并行计算的parfor循环

​讲解视频&#xff1a;可以在bilibili搜索《MATLAB教程新手入门篇——数学建模清风主讲》。​ MATLAB教程新手入门篇&#xff08;数学建模清风主讲&#xff0c;适合零基础同学观看&#xff09;_哔哩哔哩_bilibili 在MATLAB中&#xff0c;parfor&#xff08;Parallel for&…