自定义博客皮肤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)
  • 收藏
  • 关注

原创 Vue前端将多个PDF文件合并成一个并下载

【代码】Vue前端将多个PDF文件合并成一个并下载。

2023-05-09 11:24:24 984

原创 记录一次项目升级node版本

4. 报错:Syntax Error: Error: ENOENT: no such file or directory, scandir 'D:\FTL-Workspace\project\tms-web\node_modules\node-sass\vendor'添加 npm install eslint @babel/core @babel/eslint-parser --save-dev。// babel-eslint 改为 @babel/eslint-parser。

2023-05-08 11:09:17 354

原创 动态添加el-form表单项且动态增加表单校验,自定义校验

需求:省市放在同一行,且当选择了省才可以出现市的选择框,二者只要出现均为必填。完整代码:<el-form-item> <div slot="label"><span class="require">*</span>省市</div> <el-col :span="8"> <!-- 省 --> <el-form-item prop="province"> &lt.

2022-02-17 14:02:27 1384

原创 vue导出多个pdf或excel,打包成zip压缩包进行下载

1.有请求接口返回arraybuffer类型的数据(npm: jszip, file-saver)const zip = new JSZip();let promises = [];// 所有下载请求的数组集合const getFile = url => { // 一个http get请求 return new Promise((resolve, reject) => { Vue.http.get(url, {responseType: 'arraybuffer'}).th

2021-11-30 14:24:15 1844 5

原创 el-table表格数据滚动懒加载

mounted () { window.addEventListener('scroll', this.setHeadPosition, true); }destroyed () { window.removeEventListener('scroll', this.setHeadPosition, true);}async setHeadPosition () { const that = this; const dom = that.$refs.table.bodyWr.

2021-11-09 16:28:57 1141

原创 媒体查询:手机端自适应页面

登录页是后来改版加上的,没有用自适应的UI框架。所以用手机浏览器打开是这样,根本没办法登录:然后修改调整了一下:用媒体查询修改样式@media screen and (min-width: 320px)and (max-width: 750px){ h1{ color: #fff; } .bgimg { min-width: 320px;

2020-12-15 10:42:42 509

原创 微信小程序——商品上拉触底加载分页

微信小程序商品分页,直接把项目代码搬过来了 // 上拉触底加载 onReachBottom = function () { if(this.data.page < this.data.lastPage && this.data.pageFlag){ this.rePage() this.data.page += 1 this.setData({ page:this.data.page }) t

2020-11-03 14:16:36 401

原创 ES6之Map和WeakMap

MapObject 结构提供了“字符串—值”的对应,Map 结构提供了“值—值”的对应,是一种更完善的 Hash 结构实现。如果你需要“键值对”的数据结构,Map 比 Object 更合适。Map 的键实际上是跟内存地址绑定的,只要内存地址不一样,就视为两个键。这就解决了同名属性碰撞(clash)的问题。如果 Map 的键是一个简单类型的值(数字、字符串、布尔值),则只要两个值严格相等,Map 将其视为一个键,比如0和-0就是一个键,布尔值true和字符串true则是两个不同的键。另外,undefin

2020-09-02 00:04:19 104

原创 ES6之Set和WeakSet

SetSet本身是一个构造函数,用来生成 Set 数据结构。它类似于数组,但是成员的值都是唯一的,没有重复的值。const s = new Set();[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));for (let i of s) { console.log(i); // 2 3 5 4}// 去除数组的重复成员[...new Set(array)]// 去除字符串里面的重复字符[...new Set('ababbc')].jo

2020-08-15 22:20:58 97

原创 ES6之Symbol

JavaScript 原本有六种数据类型,分别是undefined、null、Boolean、String、Number、Object。ES6 引入了一种新的原始数据类型Symbol,它表示独一无二的值。Symbol函数前不能使用new命令,否则会报错。这是因为生成的 Symbol 是一个原始类型的值,不是对象,也不能添加属性。let s = Symbol();typeof s // "symbol"Symbol函数可以接受一个字符串作为参数,表示对 Symbol 实例的描述,主要是为了在控制台显

2020-08-14 23:54:31 105

原创 HTTP协议

HTTP一、简介HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从万维网(WWW:World Wide Web)服务器传输超文本到本地浏览器的传送协议,它基于TCP/IP通信协议传递数据(HTML 文件, 图片文件, 查询结果等)。超文本传输协议伴随着计算机网络和浏览器的诞生,HTTP1.0 也随之而来,处于计算机网络中的应用层。因为建立在 TCP 协议之上,所以 HTTP 协议的瓶颈及其优化技巧都是基于 TCP 协议本身的特性,例如 tcp 建立连接的 3

2020-08-12 22:52:58 145

原创 ES6解构赋值

数组的解构赋值1、只要等号两边模式相同,左边的变量就会被赋予对应的值。可嵌套,可忽略。let [a, b, c] = [1, 2, 3];2、不完全解构,即等号左边的模式只匹配一部分的等号右边的数组,解构依然可以成功。如果解构不成功,变量的值等于undefined。let [a, [b], d] = [1, [2, 3], 4]a //1b //2c //4如果等号右边不是数组(不是可遍历的结构)将会报错,可以是字符串。Set结构也可以使用数组的解构赋值let [x, y, x] =

2020-08-12 12:09:45 108

原创 let、var、const区别

let1、let声明的变量只在它所在的代码块有效,在代码块之外引用会报错,存在块级作用域2、let不存在变量提升会报错。var存在变量提升,即变量可以在声明之前使用,值为undefined3、let存在暂时性死区,在代码块内使用let声明变量之前,该变量是不可使用的,都属于该变量的“死区”4、let不允许在相同作用域内重复声明同一个变量,var在同一个作用域内声明同一个变量后面会覆盖前面的const1、const用来声明一个常量,一旦声明其值不可更改。所以const在声明的时候必须要初始化,不能

2020-08-12 11:03:08 127

原创 JavaScript之执行上下文和执行上下文栈

执行上下文JavaScript的可执行代码类型:全局代码、函数代码、eval代码当执行到一个函数时就会先进行准备工作,即创建执行上下文,每个执行上下文,都有三个重要属性:变量对象(Variable object,VO)、作用域链(Scope chain)和this。标题JavaScript引擎创建了执行上下文栈(ECS)来管理执行上下文。先定义执行上下文栈是一个数组:ECStack = [];JavaScript开始解释执行代码的时候,最先遇到的就是全局代码,初始化时会向执行上下文栈压入一个全局

2020-08-09 11:36:14 139

原创 虚拟DOM

1、Virtual DOM 作为 Vue.js 框架的核心特性之一,你有考虑过 Vue.js、React 这类的框架为什么要用 Virtual DOM 机制吗?①为了让应用可以更容易的实现跨平台如果我们的代码是直接操作 DOM,那如果换到那些没有 DOM 的环境中呢,比如小程序、移动 App,多一层封装就可以应对环境的变化,对下兼容不同环境,对上提供统一 API,正是因为这一点,我们今天才能看到很多的跨平台解决方案。virtual dom 中根据不同环境,做不同的渲染操作,举个例子,你在 virtual

2020-08-08 20:32:29 107

原创 JavaScript之原型与原型链

原型prototype属性每一个函数都有一个prototype属性,这个属性是一个指针,指向一个对象。这个对象是此函数所有实例化对象的原型。function A() {}// 为原型对象添加方法A.prototype.xxx = function(){}constructor属性原型对象会获得一个constructor属性,此属性是一个指针指向prototype所在的函数对象。__proto__属性调用构造函数创建一个实例对象后,此实例化对象将包含一个指针[[Prototype]],指向

2020-08-06 17:53:32 103

原创 前端项目优化

1、生成打包报告通过可视化的UI面板直接查看报告在可视化的UI面板中,通过控制台和分析面板,可以方便地看到项目中所存在的问题。2、通过 externals 加载外部 CDN(内容分发网络)资源默认情况下,通过 import 语法导入的第三方依赖包,最终会被打包合并到同一个文件中,从而导致打包成功后,单文件体积过大的问题。为了解决上述问题,可以通过 webpack 的 externals 节点,来配置并加载外部的 CDN 资源。凡是声明在externals 中的第三方依赖包,都不会被打包例:co

2020-08-05 21:40:33 163

原创 Vue报错(eslint)

开始写Vue项目,发现它动不动就报错,语法十分严格,这里记录一下遇到的一些错误。Newline required at end of file but not found最后面要空出一行

2020-05-17 15:12:45 2496

原创 Git常用操作

Git命令行操作初始化$ git init 本地库初始化配置$ git config [–global] user.name … 提交代码时用户名$ git config [–global] user.email … 提交代码时用户邮箱$ git config --list 显示当前Git配置$ git config -e [–global] 编辑Git配...

2020-04-21 14:44:37 115

原创 纯CSS画 三角形 原理

前言:面试题里CSS画三角形的出镜率很高,其实答案一搜就有,但在没弄懂原理之前看起来还是不太直观,所以就自己来实践一下。① 写一个div,设置四周不同颜色边框<style> .div{ border-top: 20px solid #809060; border-right: 20px solid #95c23b; borde...

2020-04-06 17:28:45 291

原创 原生js 实现 贪吃蛇小游戏

HTML部分<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>贪...

2020-04-06 16:12:35 191

原创 《高性能JavaScript》(笔记)

一二三

2020-03-24 15:17:05 147

原创 输入5个字符串,输出其中最大的字符串

#include &lt;stdio.h&gt;#include &lt;string.h &gt;int main(){ int i = 0; char s[80] = {""}, max[80] = {""}; printf("输入五个字符串:\n"); scanf("%s",s); strcpy(max,s); for(i=1; i

2018-02-27 15:43:40 35193 4

空空如也

空空如也

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

TA关注的人

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