自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 Recorder开启手机录音功能并将录音保存本地

在 index.html中引入cdn 中的script代码: <script src="https://cdn.jsdelivr.net/gh/xiangyuecn/Recorder@latest/src/recorder-core.js"></script> <script src="https://cdn.jsdelivr.net/gh/xiangyuecn/Recorder@latest/src/engine/mp3.js"></script&gt.

2022-04-11 13:02:46 2120

原创 vue3.0学习笔记

一、复习vue 2中的一些特性动态参数 :1. v-bind缩写 :[key]=''2. v-on缩写 @[event]=''3. 动态参数格式为字符串,为null 时默认移除,非字符类型将会被警告防抖和节流:如果某个组件仅使用一次,可以在 methods直接应用防抖methods:{ click: _.debounce(function(){})}混入实用新功能:browserlist位于根目录中,可以指定项目的目标浏览器范围>1%>5%

2021-09-02 14:36:42 466

原创 阿里云 oss多文件上传

平时在做 oss 上传时,通过都是单个文件上传,但是前几天工作时涉及到多个文件的上传,在所有文件都上传完成后才能再做后续的代码执行。于是在原有的oss上传基础上添加for循环去挨个上传。介绍一下,oss 的上传可以有两种:一种是把所有的文件上传给后端,由后端去传到阿里云oss上,这样不涉及到向后端获取accessKeyId 和bucket等,没有key泄露的风险(适用于C端客户)。一种是向后端调接口获取key等数据,存储在本地,需要的时候调用就可以了,key值设置失效时间,一段时间过后,再向后端获取

2020-06-05 13:30:48 7220

原创 拆分出多个项目并部署在同一域名下

目前公司的一个项目中包含多个子项目,并且是在一个项目中启动,这导致了每次jenkins每次构建都要重复构建没有变动过的子项目,造成不必要的操作。所以需求是把项目中的多个子项目单独拆开,并且部署在同一域名下,多个子项目共用一个登录页。1. 在子项目的router中设置 base,给域名后多加一个子项目的路径名称import Router from "vue-router";export d...

2020-04-15 12:59:34 682

原创 获取往后十天日期

思路:首先创建一个长度为10的数组,然后遍历这个数组,每个数组元素的下标,然后用当天日期的getTime()函数+ 数据元素下标* 24 * 60 * 60 * 1000,就是往后十天的日期数据此时数组中存的是十个日期对象,如果需要把它们转换成'2020-04-14'格式的字符串,可以遍历数组,通过 getFullYear() 和 getMonth() 来做转换。// 获取前十天日期expo...

2020-04-14 12:50:55 884

原创 获取字符串大括号里面的值 ,并判断字符串是否符合要求

一个特殊的需求:要求找出双大括号中间的值let str = '我的名字叫{{让时光到此为止}},今年{{5}}岁了,是一个{{学生}}'let rep = str.match(/(?<=\{\{)[^}]*(?=\}\})/g)let rep2 = str.match(/\{\{(.*?)\}\}/g)// 输出的是{{}} 两个大括号中间的内容并返回一个数组console.l...

2020-04-13 13:27:20 951

原创 Promise.all() 函数的常用场景

本文介绍一下Promise.all() 的常用场景Promise 有好几个api, 这篇文章主要是讲 .all的常用场景// api 方法一 getMethodsFirst(){ return new Promise((resolve, inject)=>{ // 调用一个后端接口,此处是调用已经封装好了的axios,所以大家可以根据自己项目中的接口方法灵活访问 getM...

2020-04-13 12:59:34 1080

原创 在 vue中使用 html5 的 drag和 drop 拖拽功能

导读: 我们现在用的框架是vue,提倡的是尽量不操作dom,而 html5中的 drag 和 drop 是拖出当前选中元素,再放到设置了dragover的目标元素中,不符合vue的理念,而且操作dom改变目前布局也不利于我们去保存数据,所以经过我不懈的努力,想到了个一个既不操作dom又能实现拖拽的功能。一、回顾 html5 可拖拽 drag和drop需要注意的是,需要被拖动的元素必须要设置 d...

2019-11-29 13:32:26 12396 2

原创 【css】page-break-after 页面打印分页属性

css3 中有一个属性: page-break-after ,该属性常用来为页面打印时设置分页符。(需要注意的是,用该属性之后,相应的div中不允许为空,也 就是 说div中必须要有内容)用法:.group{ page-break-after: always;}<div class='group'></div><div class='group'>...

2019-11-27 12:50:41 4286

原创 创建 0-99 的数组

今天分享一个js创建数组,并且值为 0 -99 的方法。一、 传统方法 ( for , while, do while):1. for 循环let arr = []for(let i =0; i< 99; i++){ arr.push(i)}2. while, do whilelet i =0,arr=[0]while(i<=99){ arr.push(i) ...

2019-09-11 12:44:45 1951

原创 百度地图 添加 左键菜单 Cannot read property 'remove' of undefined

polygon.removeContextMenu(polygonMenu)主要是因为在写 removeContentItem() 方法时,左键菜单项(polygonMenu)未在 addItem 中定义,所以我们在 removeContentItem 之前把 addContentItem 定义一下就好...

2019-09-11 12:22:22 1961

原创 【elementUI】el-table 展开行默认关闭或打开

第一种方式: 使用 :default-expand-all=“isExpand”优点:方便,简单,页面初始化的时候给 delfault-expand-all 赋值展开或关闭缺点:不能手动操作 <el-table :data="titleShineData.dataList" class="table-reset" size="sm...

2019-07-31 13:07:00 11193 1

原创 【百度商圈】选中的商圈定位到地图中心点

有时,在我们查找商圈时,或者选中商圈时,需要把 商圈定位到地图的中心点,方便查看:// 定位商圈,使商圈定位到地图正中 handleSelect (val) { // 查找符合条件的商圈 let over = overlays.filter(overlay => { return overlay.tradeName === val.tradeName })[0]...

2019-07-25 12:40:51 437

原创 【百度商圈】清空地图上显示的商圈

清空商圈:使用 removeOverlay()函数// 清空所有商圈 clearAll () { for (let i = 0; i < this.overlays.length; i++) { this.map.removeOverlay(overlays[i]) } overlays.length = 0 },...

2019-07-25 12:32:54 185

原创 【百度商圈】百度商圈功能

先看一下效果:蓝色边框浅白底的,就是商圈,右上角是用来制作商圈的工具,当然,你也可以不使用工具,在页面初始化时显示商圈是否添加商圈关闭后:<!-- 地图控件 --><div class="as-scheduling-toolbar"> <el-form> <el-form-item label="是否添加商圈:"> ...

2019-07-25 12:30:46 1257

原创 vue 防抖 setTimeout 失效

在写代码的过程中,编辑器会默认把手敲入的函数进行导入,这样就会有一系列的问题。vue中,写防抖的时候,一定要检查一下是否有如下行:import { setTimeout } from "timers" // 删除掉此行以下为防抖函数代码: // 数据行变化时 onFileSelection (row) { if (this.isTimerWorking !== null) { ...

2019-07-24 18:02:22 1095

原创 js 链表数据结构

链表结构在 JavaScript 中是没有链表结构的,我们只能手动去创建链表结构。很多朋友问,JavaScript已经有了数组,并且数组的父类就是对象,并且初始化的时候并不需要设定数组的长度,也不像后端语言一样,操作数组时需要考虑数组的位置和个数。为什么我们依然需要用到链表呢?其实在一维数组中,链表的表现是优于数组的。链表又分为 单向链表、双向链表、单向循环链表、双向循环链表。单向链表:每一...

2019-07-24 12:42:21 133

原创 Uncaught (in promise):r

ddd

2019-07-24 12:40:08 359

原创 el-table 自定义表头(下拉框或标签)

在做文件上传之后,回显的时候,表格的标题需要用下拉框做自定义映射。效果如下:第一步: 在 需要下拉框的 el-table-comlum 中添加 :render-header="modelRenderLastHeader"<el-table border ref="fileTable" class="table-reset" align="center...

2019-07-19 13:20:29 5247 2

原创 el-table 获取复选框索引

<el-table border ref="fileTable" :data="fileUploadData" class="table-reset" size="small" :row-class-name="tableRowClassName" @selectio...

2019-07-18 12:58:10 2848

原创 el-table 合并单元格

在做需求的时候,我们总是能遇到各种各样奇葩的需求… o(╯□╰)o但是呢,依然挡不住一颗探索的心呐!先上展示效果。需求是这样的:在前端上传文件后由后端解析成数据再传回前端做展示,但是传到前端的数据呢,是一行一行的,但是有些单元格却是需要合并,因此,后端会返回两个数组,一个数组是数据,另一个数据是需要合并的单元格格式,如图:CellsdataTable 是后端返回的数据行Merge...

2019-07-17 12:56:50 8369 2

原创 el-table type="selection" 默认选中

在使用 element-ui 的 el-table 时,每行的 复选框默认是不选中的,但是需求要求它选中 O(∩_∩)O哈哈~第一步: 在 el-table 中加ref 属性,它在vue中相当于是id的存在。 ref=“fileTable”<el-table border ref="fileTable" :data="fileUploadData" class="tab...

2019-07-17 12:34:19 24208 12

原创 Property 'validate' does not exist on type 'Vue | Element | Vue[] | Element[]'

环境: vue2.5.2+element-ui2.2.2 +TypeScript位置: 在提交from 表单验证时//在这开始报错this.type = 'test'this.$refs['form'].validate(valid => { ... ...})错误信息:分析原因: Property ‘validate’ does not exist on typ...

2019-06-10 13:00:33 17370 11

原创 javascript 面向对象和继承

编程中,面向对象的特点如下:抽象、封装、继承、多态。一、JavaScript面向对象在JavaScript中,任何物体都可以看作一个对象,对象里包含物体的属性、行为,那为什么我们要把物体当成一个对象使用,而不是把它的属性分散开来呢?是因为,对象可以有效的防止全局变量被反复定义和污染,并且会提高信息的安全性。如何定义一个对象?第一种:工厂模式。通过function返回一个字面量(字面量表示...

2019-06-09 22:04:46 106

原创 前端webpack打包构建优化

一、 打包cssuglifyjs-webpack-plugin 打包css 工具 换成 optimize-css-assets-webpack-pluginechart 和 vue 库 从生产环境移除,改为index.html中引入包font-awesome.min.css 文件单独从 index.html 中引入超过 900行的代码进行文件分离tree 组件将ts 改回 js 因为递...

2019-06-04 12:27:08 915

原创 element-ui 接口返回有数据但是视图没有更新

一、二、三、

2019-04-30 17:03:01 3662

原创 vue + elementUI 树形菜单的递归组件

应该很多同学都会灵活的使用递归吧,相信大家用的一定 66 的… ╰(°▽°)╯很多朋友写vue 组件也是66的。 ╰(°▽°)╯但是今天,我们把它结合起来,做一个 vue 的递归组件…一、需求:一个不知道会嵌套多少次的树形菜单,如果用 if 一层一层往下判断的话那真是要了命了,不灵活不易维护不说,还最容易出错。比如像下面这种树形结构:如果里面有九层十几层,我们也需要一级一级的判断吗...

2019-04-28 13:02:18 8822 9

原创 记一次大量数据渲染vue dom时导致的卡死问题

上周,分配任务的同事指着我们的网站,拽我过来,快速地切换着菜单,对我说,来,你看看为什么我们现在的网站会卡成这样,emmmm分配任务的同事说:“他说每当我快速切换菜单的时候,就卡了,你去把这个问题解决一下吧!”我:"放心交给我,我是专业的!”分配任务的同事:“为了让你更快地知道问题出在了哪儿,我给你两条思路吧。”axios 向后端请求接口太慢时候就卡住了。当一段脚本长时间占用着处理机,...

2019-04-27 22:44:38 25494 6

原创 JavaScript 六种数据类型

JavaScript是一种具有函数优先的轻量级解释型或即时轻量编译型的脚本语言。

2019-04-16 13:25:03 605

原创 http 415 错误

一、 场景在公司做后台管理项目的时候,客户要求某一数据列表要有 勾选导出 和 全部导出,在我添加完 勾选功能导出的时候,控制台报了这样一个错误。二、 原因造成415错误的方式大概有两种:数据请求的 contentType 与后端不一致要发送的数据格式不正确然后看了自己要传输的 aids 属性格式,一个对象里面包含一个属性名,属性名对应一个array数组,没毛病。再打开 swag...

2019-04-09 12:48:29 30089 1

原创 css 之 position 总结(含css3 新增 sticky)

position 是css 常用属性之一,它是css规定的元素定位属性。但其实日常中我们很容易忽略它的一些细节

2019-04-08 23:05:47 384

原创 javascript 异步小结 (microtask 和 macrotask)

异步 任务队列之 microtask 和 macrotsk前端的同学肯定都知道 javascript 是单线程的 ,原因是 javascript 是一门脚本语言, 它为了操作DOM而设计的,操作DOM时不允许多个任务同时操作一个DOM,否则浏览器容易产生疑惑不知道该执行哪段。但是,我们在编写代码中,当主线程加载过慢时,主线程就会无法往下执行,产生堵塞,这不是我们想要的,于是有了异步加载,意思是...

2019-04-07 21:53:24 214

原创 vue中 select 动态改变时 默认选中效果

vue中 select 动态改变时 默认选中效果在我们日常学习中其实很难注意到一些细节,但是在工作中细节的成败关乎着代码的开发时间,比如我昨天遇到的问题,明明很简单的,却鼓捣了很久。。。。汗颜。。。下面先上一段正确的代码:<template><div> <select v-model="selected" @change="selectChange" cl...

2019-04-05 10:54:03 2073

原创 echart 折线与柱状图切换设置 boundaryGap 失效

echart 折线与柱状图切换设置 boundaryGap 失效在工作中遇到一个问题,echart折线图 与柱状图切换时,X轴与Y轴重叠,按需求要求折线两边留有空白,于是到官网查api,在xAxis X轴设置 boundaryGap 属性可以做到。在类目轴中 boundaryGap 只有两个值: true 和 falsexAxis: { type: 'category', ...

2019-04-04 12:41:07 6196 2

h5上下翻页动画

h5年报是一个上下翻页的动画,并伴有音乐,翻页后的动后是一帧一帧地加载。

2018-03-07

空空如也

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

TA关注的人

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