吃点点心 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •     
组件性能优化

组件性能优化

表头筛选问题总结 表头筛选组件中的el-tree数据过多,导致生成的DOM节点过多,引起客户端性能问题。 数据过多时全选反选失去意义。 经本机测试,当数据超过1000条时,关键字搜索会有明显的延迟,大部分客户的客户端性能都无法达到本机的水平。下图搜索腾讯,页面将有2秒以上的延迟。 优化目标 表头筛选组件实现秒开,反应速度应在50ms以下。 全选反选功能只提供给静态数据。 数据筛选时,本地检索实现实时反馈。 技术与实施方案 所有请求返回的数据采用分页请求,不再加载所有数据,数据量不超过100: listOnly=1&listRows=100 区分静态数据和动态获取,动
 2020-12-29   工作   
刷题笔记02

刷题笔记02

自运行函数的返回// 假设output输出一段文本 output(typeof (function() {output(“Hello World!”)})()) // Hello World! undefined 自运行函数首先运行输出Hello World,然后自运行函数并没有return,返回为undefined,typeof undefined = undefined。 for循环和隐式转换var msg = 'hello'; for (var i=0; i<10; i++){ var msg = 'hello' + i * 2 + i; }
 2020-12-23   刷题 
hexo主题Fluid设置hide=true隐藏的文章在开发模式下显示

hexo主题Fluid设置hide=true隐藏的文章在开发模式下显示

前言因为在blog中有写关于公司的一些文章,这些东西放在blog上好像不太好,所以不想在线上可以访问到,于是萌生了在开发模式下可以看,而在线上是隐藏的想法。 思路首先,根据Fluid主题的文档可以得知,控制文章显示的字段是hide,hide=true时,文章就不会显示在页面,但是开发模式下也无法看到,但是我在记录公司的一些工作计划以及一些自己写的文档时,我希望能打开多个页面查看,于是一个笨办法是先全局搜索hide这个字段,看它出现在了哪些地方: 可以看到,post-filter.js最符合搜索目标的要求,于是打开文件看看: 'use strict'; // 生成前过滤文章 h
 2020-12-23  
《你不知道的JavaScript中》读书笔记02

《你不知道的JavaScript中》读书笔记02

原生函数也叫JavaScript的内建函数。常用的有: String() Number() Boolean() Array() Object() Function() RegExp() Date() Error() Symbol()——ES6新加入 封装对象包装JavaScript会自动为基本类型值包装,所以像一些.length、.toString()的属性和方法,在基本类型被字面量定义之后,也能拥有这些方法和属性。 特别注意在封装数字和布尔值后,用来进行判断时,会有一些疑惑: var a = new Boolean(false); if (!a) { console.log("
 2020-12-21   你不知道的JavaScript 
在阿里云轻应用服务上安装mongodb

在阿里云轻应用服务上安装mongodb

阿里云轻应用服务器上安装mongodb安装步骤比较简单,直接省略然后是给数据库创建密码,因为外网需要连接。 首先需要给admin用户创建密码 mongo // 进入数据库 use admin // 切换到admin db.createUser({user:"admin",pwd:"xxxxx",roles:[]}) // roles权限网上找 回车后会出现Successfully added user: {...},说明已经可以了。 # 下次使用命令行操作数据库时就需要验证了 mongo use admin db.auth('userna
 2020-12-19   mongodb 
qs序列化url请求参数

qs序列化url请求参数

由于业务需求需要用到iframe来发送get请求,用来导出数据列表数据,客户会首先筛选出不同条件下的数据,然后在其中勾选多项进行导出,因此参数中会有id数组以及query查询条件数组,但是我们后端需要get请求中的数组要求是这样的: id[]=1&id[]=2 query[]={a: 1}&query[]={b: 2} 在不知道qs之前,我是使用了Array.reduce方法来构造url字符串: id = ids.reduce((acc, curr) => { return acc + `&ids[]=${curr}` }, '') 但是自
 2020-12-11   qs 
npm包发布以及删除流程

npm包发布以及删除流程

准备工作 首先在npm官网上注册 账号。 注册完成之后一定要验证邮箱,不然后面发布的时候会有403的err。 本地有node和npm环境。 初始化并发布自己的包 在准备发布的包中运行npm init,然后填写相关信息。 登录npm: npm login 根据提示填写登录信息。 然后发布: npm publish 使用自己发布的包npm install xxx@1.0.0 删除已发布的包npm unpublish xxx --force 删除的版本24小时之后才能重发! 发布72小时之内的包可以删除! 更新包版本更新包版本首先要更新本地版本号: 如果是打个补丁 npm
 2020-12-08   npm 
计算是否连续月份

计算是否连续月份

需求最近项目有一个字段筛选需要选择连续的月份,它所有的值就是一年的12个月份——1、2、3...12,算连续有两种情况:第一种是年内的,就是不超过12月份;还有一种是跨年的,就是从今年的某个月份到第二年的某个月份,例如:11、12、1、2,这样也算是连续的。 解决步骤一开始是没有想到要跨年份的,所以很简单,给数组排个序,然后计算前一位减后一位的差是否等于1就行了: function MonthIsContinuous(arr) { const sort_arr = arr.sort((a, b) => a - b); return !sort_arr.some((v, i, so
 2020-12-07   算法 
123456

搜索

Hexo Fluid
湘ICP备2025103376号