- 博客(67)
- 收藏
- 关注

原创 Echart+vue制作立体柱状图
Echart+Vue制作立体柱状图先来看一下制作完成后的效果:废话不多说,直接上代码:HTML代码: <div class="lineOne"> <span class="spanTitle">使用时长排行</span> <div id="timeRange" style="width:100%;height:400px"> </div> </d
2020-05-29 09:58:21
2493
1
原创 json-bigint处理前端精度丢失问题
问题描述:前后端调试过程中,有时候会遇到精度丢失的问题,比如后端给过来的id超过16位,就会出现精度丢失的情况,前端拿到的id与后端给过来的不一致。1、安装 npm i json-bigint。2、在axios中配置。
2024-11-18 16:27:55
807
原创 CSS中transform属性
位移transform: translate(水平移动距离,垂直移动距离)旋转transform: rotate(角度,单位deg),正:顺时针,负:逆时针缩放transform: scale(X轴缩放倍数,Y轴缩放倍数)transition用法transition:[属性名] [持续时间] [速度曲线] [延时时间]例如:transition: height 2s ease 0.5s当高度属性的值改变时,延迟0.5秒后以ease曲线进行过渡,持续时间为2秒。想要监听所有属性的话
2024-08-30 14:36:30
667
原创 冒泡排序、插入排序和选择排序
插入排序是一种最简单的排序方法,它的基本思想是将一个记录插入到已经排好序的有序表中,从而一个新的、记录数增1的有序表。在其实现过程使用双层循环,外层循环对除了第一个元素之外的所有元素,内层循环对当前元素前面有序表进行待插入位置查找,并进行移动。冒泡排序:从序列的第一个元素开始,比较相邻的两个元素,如果满足条件,则交换它们的位置。继续比较下一对相邻元素,执行相同的操作,直到序列的末尾。选择排序:通过遍历数组,选出该数组中较大的或者较小的,放在数组的起始位置,当遍历完整个数组时排序完成。
2024-08-30 14:28:48
388
原创 localStorage、sessionStorage、cookie的区别
这是在面试过程中出现频率比较高的一个题,今天我们就来总结一下这三者之间的区别。
2024-08-29 14:58:02
395
原创 css实现元素居中显示
css实现元素居中显示text-align:center;margin-left:auto;margin-right:auto;width:50%;height:100px;line-height:100px;display:flex;justify-content:center;align-items:center;height:200px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);d
2024-08-29 14:32:34
494
原创 css隐藏元素
css实现隐藏元素的方法有哪些display:none; 元素被移除,不占据空间visibility:hidden; 元素不可见,但是占据空间opacity:0; 元素不可见,但是占据空间position:absolute;left:-999px;width:0;height:0;overflow:hidden;
2024-08-28 14:52:15
566
原创 页面重绘和页面回流
页面重绘是指当元素样式改变时(包括颜色、背景色、可见性、透明度、文本内容、CSS动画和过度、改变类名、窗口大小变化以及修改字体相关属性等),浏览器需要重新绘制该元素的部分或全部内容,而不改变元素的位置和布局。当页面布局和几何属性发生改变时,浏览器需要重新计算元素的布局和几何属性,然后更新页面的渲染效果。例如:修改元素的尺寸、位置等属性时,会触发该元素及其祖先元素的回流。
2024-08-28 14:39:00
200
原创 uniapp滚动加载
uniapp实现滚动加载,先获取10条数据,滚动到底时,再获取10条数据,以此类推,直至没有数据为止。4. 当滚动到底部时,调用refreshData。2. 在data中定义。
2024-06-18 17:00:01
837
原创 前端面试题总结(二)
Vue双向绑定原理是通过数据劫持+发布订阅模式相结合的方式来实现的,就是数据层发生变化时,可同步更新视图层,当视图层发生变化时,同步更新数据层。computed不支持异步。css计算属性:width,height,margin,padding,border,font-size,line-height,top,left,right,bottom,transform,transition,calc()null,undefined,string,number,boolean,ES6还多了一种symbol。
2023-07-17 17:06:13
541
转载 JS数组对象排序
JS数组对象通过 sort 排序var person = [{name:"Rom",age:12},{name:"Bob",age:22},{name:"Ma",age:5},{name:"Tony",age:25}] person.sort((a,b)=>{ return a.age-b.age})//升序 person.sort((a,b)=>{ return b.age-a.age})//降序
2022-03-30 11:00:22
251
转载 ant design vue表格合并
ant design vue表格合并先看一下官方文档给出的合并单元格的方法,要合并Home phone这一列,columns中的代码如下:{ title: 'Home phone', colSpan: 2, dataIndex: 'tel', customRender: (value, row, index) => { const obj = { children: value,
2022-01-28 10:46:01
1211
2
原创 记住密码 AES加密解密
记住密码AES加密存储,解密获取1、引入文件import CryptoJS from 'crypto-js/crypto-js'; // 引入crypto-js/crypto-js 加密算法类库import { setStore,getStore } from '@/util/store';2、定义默认值// 默认的 KEY 与 iv 如果没有给const KEY = CryptoJS.enc.Utf8.parse('QwdsFGxcV18529Uq'); // 十六位十六进制数作为密钥c
2021-12-30 16:43:02
338
原创 avue 关闭当前页返回上一页
avue关闭当前页面,返回上一页this.$router.$avueRouter.closeTag()window.histroy.back()
2021-12-30 16:13:47
863
原创 用Promise.all做多个表单校验
用Promise.all做多个表单校验有时候,我们需要对多个表单进行同时校验,只有都校验通过才可以进行下一步。比较简单的方法就是,if(){}else{}嵌套使用,if A表单校验成功,再校验B表单。其实js提供了promise方法来帮助我们实现这一功能,代码如下:const p1 = new Promise((resolve, reject) => { this.$refs.projectInfo.validate(valid => { if (vali
2021-11-16 17:39:51
1918
原创 使用setStore和getStore缓存页面查询条件和当前页
缓存查询条件和当前页实际应用中,很多时候当我们刷新页面时,本来的查询条件和页码都会置空和置零,这会带来很多不便。例如:当我们需要比较A页面和B页面的某个数据时,会需要在两个页面中来回切换,如果一直刷新页面就非常不方便。解决方案如下:导入setStore和getStoreimport { setStore, getStore } from '@/util/store';缓存数据//缓存数据cachePage() { const tmp = getStore({ name:
2021-11-16 16:39:30
3036
原创 关于vue 页面带参跳转
关于vue页面带参跳转方法一:this.$router.push({ path:`/detail/${id}` })//取参:this.$route.params.id这种方式参数是将id跟在url后,刷新页面后参数不会丢失方法二:this.$router.push({ name:'detail', params:{ id:id }}//取参:this.$route.params.id这种传参方式,必须用name进行跳转,url
2021-10-29 16:14:40
280
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人