es6
文章平均质量分 82
等不回天亮等时光
一个会一点php node和切页面的前端工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
我所理解的proxy
1.基本用法以上的代码为最基本的用法,主要知识点在于new Proxy接受两个参数,一个为目标元素,第二个参数为object,其中该object包含了set和get方法。或许会产生了一下的疑问:1.1 Receiver在get函数内部中我们可以看到 receiver === proxy 是为true的,那么在这个时候,就隐约感觉到它和this上下文有这关系。当我们在get函数中输出了this,此时的this是指向当前的对象(不是proxy对象,而是当前定义的set和get对象)接下来在看个例子:原创 2022-06-20 01:02:46 · 1053 阅读 · 0 评论 -
阅读lodash源码之旅数组方法篇-compact和concat
鲁迅说过:只有阅读过优秀库源码的人,才能配的上是真正的勇士。compact创建一个新数组,包含原数组中所有的非假值元素。例如false, null,0, “”, undefined, 和 NaN 都是被认为是“假值”。注意以上的描述并不包括[],{}因为在js中,这个两个会进行隐式转换会把这两个值转换成为true。换句话来说该函数并不会去过滤这两个值。官方代码:export function compact(array){ let resIndex = 0; const result.原创 2021-01-24 11:59:27 · 309 阅读 · 0 评论 -
vue造轮子之省份区联动下拉组件
业务背景在我业务需求中,需要有个省份区城市联动的组件,并且该组件的开发也是基于elementUi原有的效果上面去。在原有的elementui库中并没有这样的组件,所以也只能自己手写一个,效果如下:需求分析1.需要包含国内的省份,省份下面所对应的城市,城市下方所对应的区,街道不做要求。2.需要配置每个下拉列表是否可以选择状态,这个是需要更加具体场景进行分析,需要对外提高可控制列表是否可以选择。例如:一层选择了广东省后,某些场景广州市不能够被选择到。基础组件选择基础组件还是还是采用el-selec原创 2021-01-04 11:25:15 · 430 阅读 · 0 评论 -
vue造轮子之虚拟列表
前提:在我负责一个模块中,有一个是日志管理模块,它会输出很多很多的操作的日志,起初与后台对接对接的时候并没有考虑到性能渲染问题,只是简单的用v-for把所有的数据都渲染出来,那么这样导致的后果就是页面卡顿,这个原因是你的模块中渲染出太多的DOM节点导致,为了避免这样的问题我采取了虚拟列表来进行渲染。什么是虚拟列表虚拟列表就是一个按需渲染的过程,简单来说就是渲染你所看到的内容,对于你非可视的内容不进行渲染,达到性能的优化。在图中我们可以看到,你所能看到的就是元素7到元素14的内容,当我们的滚动条进行原创 2020-10-28 16:19:46 · 991 阅读 · 0 评论 -
vue造轮子之封装选择下拉树
最近公司有个新需求,希望能有一个下拉选择树的功能,大概的功能和样式如下所示:然后我的第一反应就是上elementui上找现成的组件,但是挺遗憾的就是element并没有提供这样的组件,所以只能自己动手造一个了。1. 组件需求(1) 支持单选和多选功能(2) 叶子节点控制是否能选择(3) 数据回显到选择框支持多选和单选显示(4) 支持树节点搜索功能(5) 基本样式应与elementUi样式保持一致2.布局和样式代码编写由于这个地方需要用到弹出下拉框,所以我就借助了el-popover来实原创 2020-10-22 14:51:39 · 701 阅读 · 2 评论 -
vue造轮子之封装可编辑的tab选项卡
最终由于公司业务的需求,有一个新功能操作,就是双击选项卡头部让其变成可编辑的状态,点击其它区域则取消输入框输入,最终效果如下:双击选择:点击其它区域选择时:1.创建文件:在src/components下创建editTab,里面包含着editTabs,Tab.vue,还有index.js2.明确组件需求和编写规则我们要考虑这个组件给其它模块应该怎么使用,那么我这里就约定一下的使用规...原创 2020-02-28 14:03:38 · 1258 阅读 · 1 评论 -
vue造轮子之圆形进度条
在github上看到一个圆形进度条组件,比较适合于我现在的业务需求,然后就拷贝下来放进我的项目。但是cv程序员并不是我想要。所以就研究了一下它的源码,没想到的是源码竟然是如此简单和通俗易懂,先附上原作者的github地址和效果图。https://github.com/cumt-robin/vue-awesome-progress一.canvas基本用法由于该组件是基于canvas完成的,所...原创 2020-01-07 16:44:53 · 3218 阅读 · 3 评论 -
关于js去重的这点小事
关于数组去重的问题,应该是老生常谈了,现在网上也有很多版本是关于数组去重的。我在这里就列举一下常见和我自己的一个数组去重的方法。1.利用indexOf去重let arr = [1, 2, 4, 5, 2, 5, 7, 7];function unique(arr){ let res = arr.filter(function (item, index, array) { ret...原创 2019-12-29 13:09:33 · 235 阅读 · 0 评论 -
vue实现折叠组件-collapse
相信大家对于下面的列表形式应该不陌生吧,至少我个人在后台OA系统的时候就用到了,那么我来聊下这样形式的列表,应该怎么封装成为一个公共的组件。(代码参考了iview用于个人学习之用)一.列表组件参数设置每一个公共组件都应该约定好参数,定义好回调函数所传递参数。不应该与业务组件和业务逻辑相互耦合。这个组件的约定参数和使用方法如下: <Collapse v-model="value1" @...原创 2019-11-09 22:57:45 · 14272 阅读 · 0 评论 -
关于浅拷贝和深拷贝的理解
在聊深拷贝和浅拷贝之前,我们先来看看以下这几个场景: let obj1 = { a: 1, b: 2 }; let obj2 = obj1; obj2.a = 3; console.log(obj1.a); //3 let a = "ceshi"; let b = a; b = "ceshi1"; console...原创 2019-07-22 11:02:41 · 351 阅读 · 0 评论 -
关于对Promise的理解
什么是Promise?Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。Promise...原创 2019-07-07 16:06:51 · 289 阅读 · 0 评论 -
es6中箭头函数用法
箭头函数表达式的语法比函数表达式更短,并且没有自己的this,arguments,super或 new.target。这些函数表达式更适用于那些本来需要匿名函数的地方,并且它们不能用作构造函数。第一种情况:形参的情况,没有形参的时候()不能省略let fun = ()=&gt;console.log("箭头函数")fun()相当于es5中var fun = function(){...原创 2018-08-06 21:56:03 · 342 阅读 · 0 评论
分享