自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 html中的小细节

由于平时不怎么接触html,导致我很多html中的属性都忘记是干嘛了,今天巩固一下。

2024-03-17 15:32:26 354

原创 解析excel和导出excel

解析excel一般是导入excel,把表格里面的东西给转成像el-table那种绑定的data。会用到XLSX这个库。

2024-02-02 18:42:20 345

原创 前端文件下载

/一个文件链接(一般是服务器上的某个文件),这个链接一般地址栏输入是预览,不是附件下载如果想改成附件下载。

2024-01-18 14:23:40 333

原创 vue2的生命周期

【代码】vue2的生命周期。

2023-05-24 23:56:41 610

原创 redux的hooks改写步骤

redux在函数式组件中配合hooks

2023-02-12 20:32:58 170

原创 css3和h5新增特性

背景:规定背景图片的尺寸:background-size规定背景图片的定位区域:background-origin(content-box、padding-box、margin-box)边框:border-radius: 圆角border-shadow/text-shadow: 阴影border-image: 边框图片。1. 语义化标签:文档头部:header、文档尾部:footer、文档中的节点:section、导航:nav、侧边栏:aside、独立内容区域:article。

2023-02-11 10:19:49 149

原创 echarts适配

每个系列通过 type 决定自己的图表类型– 通俗的理解:图标数据,指定什么类型的图标,可以多个图表重叠。我们都可以直接拿来用,但是里面的一些配置我们可以根据自己的需求来修改,所以我们需要了解ECharts的基础配置。stack:数据堆叠,同个类目轴上系列配置相同的stack值后 后一个系列的值会在前一个系列的值上相加。为了防止变量污染,减少命名冲突,我们可以采用立即执行函数的写法,因为立即执行函数里的变量都是局部变量。1. 为echarts准备一个具有宽高的div容器(简单来说就是存放图表的一个占位)

2023-02-11 10:17:27 1488

原创 表单组件(蚂蚁移动端)

如果使用的是表单项的默认值来回显,就要注意表单默认值属性initialValues 绑定一个对象,还可以用表单项值属性,但是都要注意默认值的特性,只能在实例化时进行默认值绑定,如果你在componentDidMount生命周期中才进行设置默认值,那是不起作用的,所以可以这样。formitem的name属性,相当于表单项的属性名,对应的输入框的值会保存给name,不写校验会不生效。验证失败和成功的属性的参数就是一个对象,对象的属性名就是name,属性值就是input的值。

2023-02-09 19:00:57 294

原创 WebSocket的理解

http是一种无状态协议,每当一次会话完成后,服务端都不知道下一次的客户端是谁,需要每次知道对方是谁,才进行相应的响应,因此本身对于实时通讯就是一种极大的障碍http协议采用一次请求,一次响应,每次请求和响应就携带有大量的header头,对于实时通讯来说,解析请求头也是需要一定的时间,因此,效率也更低下最重要的是,需要客户端主动发,服务端被动发,也就是一次请求,一次响应,不能实现主动发送。举例来说,我们想了解今天的天气,只能是客户端向服务器发出请求,服务器返回查询结果。降低轮询的间隔,延迟降低,压力增加;

2023-02-04 10:55:05 201

原创 DNS基础

若仍然没有命中,则操作系统将域名发送至本地域名服务器,本地域名服务器采用递归查询自己的 DNS 缓存,查找成功则返回结果。首先本地域名服务器向根域名服务器发起请求,根域名服务器返回顶级域名服务器的地址给本地服务器。若本地域名服务器的 DNS 缓存没有命中,则本地域名服务器向上级域名服务器进行迭代查询。本地域名服务器拿到这个顶级域名服务器的地址后,就向其发起请求,获取权限域名服务器的地址。本地域名服务器根据权限域名服务器的地址向其发起请求,最终得到该域名对应的 IP 地址。

2023-02-04 10:51:52 79

原创 webpack

对此你可以通过插件的filename属性,告诉插件输出的 CSS 文件名称是通过[name]_[contenthash:8].css字符串模版生成的,里面的[name]代表文件名称,[contenthash:8]代表根据文件内容算出的8位 hash 值, 还有很多配置选项可以在ExtractTextPlugin的主页上查到。我们使用es6的语法来编写,最终会通过babel-runtime编译成es5.也就是说,不管浏览器是否支持ES6,只要是ES6的语法,它都会进行转码成ES5.所以就有很多冗余的代码。

2023-02-04 09:02:16 116

原创 搜索记录持久化实现

我的实现思路是,渲染搜索记录列表,并且要把这个列表给保存到本地存储,这样可以实现持久化,这样下次再进入这个页面,直接从本地存储拿到这个搜索记录列表,这样就可以实现持久化,再次进入这个页面,之前的搜索记录不会丢失。在项目中,有时候会有搜索页面,并且在搜索后会留下搜索记录,像如下效果。具体的实现代码如下:以react为例。

2023-02-02 21:10:37 176

原创 react通过ref实现对话框显示隐藏

比如子组件是一个对话框,父组件点击某个方法要对话框显示,因此就可以利用ref获取子组件实例传参,并调用子组件实例的方法修改子组件的状态,来实现控制对话框的显示,通过父组件获取子组件的实例,调用子组件的方法并在方法中传参,子组件在自己的这个方法里将参数赋值给状态,这种一般用做手动传参,

2023-01-05 23:14:52 440

原创 element plus resetFields

我在开头已经说了表单重置方法的重置规则,如果你的表单是放在抽屉中,刚开始是不会被渲染的,当打开抽屉时才会被渲染,如果你是先点击的编辑打开的抽屉以及表单,那么表单的的初始值就是回显的那一个初始值,所以在后面你的其他按钮内用到了表单的重置方法后,重置后都是“那个带有数据的初始值”,如果你的表单是放在抽屉中,刚开始是不会被渲染的,当打开抽屉时才会被渲染,如果你是先点击的编辑打开的抽屉以及表单,那么表单的的初始值就是回显的那一个初始值。点击编辑后会打开抽屉,点击新增也会打开这个抽屉,编辑和新增共拥一份抽屉表单。

2022-12-31 18:16:52 927

原创 对象数组的filter

今天在做路由权限的时候我发现了一个问题,数组方法filter居然改变了原数组,这着实颠覆了我的认知,于是我查阅资料,都说数组方法filter是不会改变原数组的,于是我亲自测试,下面的是我的代码,最终我总结出,其实数组的filter方法只是创建了一个新的空数组对象,这是一个新地址,然后新数组里面的东西其实就是把原数组的每一项浅拷贝过来了。因此,如果你的是个对象数组,在filter的时候修改对象,原数组的对象也会随之发生改变。

2022-12-30 17:30:49 690

原创 el-menu刷新回到默认

一般在写后台管理系统,使用menu组件,每个都是一条路由,然而,有时候我们在某个路由上刷新一下,路由还保留着,但是menu-item的高亮效果却到了默认的那一项上,就很无语,下面是我改良过的,思路嘛,就是把el-menu的default-active这个属性不给它常量,给它一个变量,这个变量在onmouted生命周期中拿到路由对象的path即可在刷新后保持高亮状态。

2022-12-27 20:56:40 1280

原创 diff算法原则

为了避免不必要的DOM操作,虚拟DOM在虚拟节点映射到视图的过程中,将虚拟节点与上一次渲染视图所使用的旧虚拟节点做对比,找到真正需要更新的节点来进行DOM操作,从而避免操作其他无需改动的dom。大家可以复制下来试一试,这个是个有问题的,我的transtion-group中包裹的li的key我设置的是index,这样大家点击删除按钮后,会发现删是删掉了,但是动画总是在最后一个li上面,这里就可以用diff算法原则来解释了。只需要把li的key设置为一个唯一的key即可,记住,

2022-12-15 10:28:09 177

原创 vue是什么、有什么特点、MVVM

在MVVM架构下,view 和 model 之间并没有直接的联系,而是通过 ViewModel 进行交互,Model 和 ViewModel 之间的交互是双向的,因此 View 数据的变化会同步到Model中,而Model数据的变化也会立即反应到View上。为了避免不必要的dom操作,虚拟dom在虚拟节点映射到视图的过程中,将虚拟节点与上一次渲染视图所使用的虚拟节点做对比,找到真正需要更新的节点来进行dom操作,从而避免操作其他无需改动的dom.1、提供与真实dom节点所对应的虚拟节点vnode。

2022-12-13 10:30:50 387

原创 v-if v-else闪烁问题

vue bug解决方案

2022-12-11 00:16:06 1450 2

原创 前端性能优化

优化

2022-12-09 23:46:50 189

原创 图片上传流程

​ 发请求上传文件到服务端 (构造FormData对象,将文件添加到对象中,上传文件 axios.post())​ 引入multer包 var multer = require(‘multer’)​ 获取文件 通过onchange事件的参数 e.target.files。​ 下载multer包, npm i multer。3、后端接收文件的特殊处理(index.js)​ 选择文件 点击input标签。​ 通过接口处理上传的文件返回给客户端。

2022-12-09 23:43:08 952

原创 登录状态保持

登录状态保持思路

2022-12-09 23:40:02 968

原创 前端开发必背单词

学习前端记忆的单词

2022-12-09 23:05:30 307 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除