js
文章平均质量分 55
清新小伙子
我很开心…………吧?
展开
-
Typescript - 将命名空间A导入另一个命名空间B作为B的子命名空间,并全局暴露命名空间B
最近相统一管理 ts 中的类型声明,这就需要将各模块下的命名空间整合到全局的命名空间下,牵涉到从别的文件中引入命名空间并作为子命名空间在全局命名空间中统一暴露。原创 2023-03-08 11:23:09 · 698 阅读 · 1 评论 -
原生 js 实现 map 遍历方法
准备首先,我们需要知道 map 遍历方法到底有什么用,我们通过指定一个处理数据的回调函数,再通过遍历数组一一处理元素,然后返回包含所有处理后元素的新数组。其次,我们还需要知道 map 遍历方法的基本用法和参数含义:基本语法:array.map(function(currentValue, index, arr), thisValue)参数意义:currentValue :必选,当前的元素值。index :可选,当前元素的索引值。arr : 可选,当前元素属于的数组对象。thisValue原创 2021-09-27 11:29:46 · 1553 阅读 · 0 评论 -
学习Object.defineProperty()
前言:写这篇东西主要是为了学习Vue的底层原理做准备的,本篇内容主要是通过查阅 Object.defineProperty() 来学习的。Object.defineProperty()Object.defineProperty() 方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。注意: 应当直接在 Object 构造器对象上调用此方法,而不是在任意一个 Object 类型的实例上调用。let obj = {}// 直接在 Object 构造器对象上调用此方法,这里原创 2021-05-30 15:15:59 · 182 阅读 · 2 评论 -
获取textarea的值并替换其换行符以及空格以实现展示时样式不变
获取textarea的值html:<el-input id="myTextarea" type="textarea" :rows="7" placeholder="请输入内容" v-model="myMessage"></el-input>js:var newMessage = document.getElementById('myTextarea').value效果展示:textarea输入值:展示:问题: 数据并未原创 2020-12-20 22:21:14 · 691 阅读 · 1 评论 -
解决因为z-index层级的原因导致无法触发下层鼠标事件
前言最近在做一个拖动的组件,其中一个就是拖动tag到一个div折叠面板内会自动打开div折叠面板。虽然通过设置z-index可以很简单实现这个效果,但却遇到问题了。接下来我就说一下实现的探索过程吧:1:tag设置z-index为-1虽然tag设置z-index为-1时可以很容易触发鼠标移动到div折叠面板上的onmouseover事件从而打开折叠面板,但如果页面高度较大,有滚动,这时拖动tag到滚动后出现的页面会被隐藏,这显然不是我们想要看到的。2:不设置tag的层级这时虽然在滚动页面部分可以原创 2020-09-23 13:31:37 · 3595 阅读 · 3 评论 -
解决vue使用element组件无法绑定鼠标事件,例如click,mousedown,mouseup等等
前言最近使用element的tag组件来做移动组件效果,其中涉及到给tag组件绑定mousedown的事件,但怎么绑定都不起作用,通过和其他标签绑定该事件比较发现:问题就出在tag组件上。解决方法绑定事件时添加.native修饰符绑定原生事件即可。<el-tag v-for="tag in collapse.tags" :key="tag" v-show="tag" style="z-index: 55;" @mousedown.native="moveTag" > {{原创 2020-09-19 12:20:47 · 1568 阅读 · 0 评论 -
js处理浮点数保留两位小数
文章目录js处理浮点数保留两位小数前言处理方法1:转换字符串截取法2:正则表达式处理3:Math.round()方法,四舍五入处理最后补充Math的其他方法js处理浮点数保留两位小数前言 最近在做酒店管理系统的时候,有个订单总金额需要我根据每天房价计算,但因为房价是有两位小数的浮点数,有时候会有所偏差,例如20.02 * 3 * 3 = 180.1800000001等等,这就需要我们对数据自行处理了。处理方法1:转换字符串截取法function de原创 2020-08-08 21:42:01 · 2914 阅读 · 0 评论 -
js如何获取当天00:00:00的时间对象
前言:最近在做一个酒店后台管理系统,其中一个接口参数是起止时间,需要传起止两天00:00:00,所以按以往单纯的new Date()肯定是无法实现的。解决方法:new Date(“2020/10/10”),“2020/10/10"相当于"2020/10/10 00:00:00”。var date = new Date("2020/08/07")this.start = datethis.end = new Date(date.getTime() + 1000 * 60 * 60 * 24) //原创 2020-08-07 00:15:28 · 4132 阅读 · 0 评论 -
将多次请求返回值按请求顺序放入一个新数组,并判断多个请求是否完成进行下一步操作
前言:最近在做一个酒店管理后台系统,做酒店列表展示的时候,因为接口返回数据出乎意料吧,各项数据格式都不一样,弄得有点麻烦。特别是获取酒店列表返回的是酒店ID列表,需要以酒店ID再次请求获取静态酒店信息进行列表展示,这其中就涉及到了要按ID顺序发送多次请求获取多个酒店静态数据并按ID顺序放入一个新数组中。我们来一步步做这个吧:文章目录一:获取酒店ID后按通过遍历按顺序以不同ID请求对应酒店信息二:将请求返回值按ID顺序存入新数组三:判断是否请求完成,以避免数组中出现empty,导致列表显示不全四:解决思原创 2020-07-21 10:24:41 · 1313 阅读 · 0 评论 -
axios上传文件获取上传进度
最近在做上传视频,因为视频比较大,耗时较长,要是没有个进度的话,用户漫长等待,体验不好,所以就想实时显示上传进度。要点是发送请求是配置onUploadProgress: onUploadProgress: progressEvent => { let persent = (progressEvent.loaded / progressEvent.total * 100 | 0) console.log(persent) },完整上传代码如下://上传视频asy原创 2020-07-11 14:58:18 · 6140 阅读 · 5 评论 -
js对多个四边形的点分别按顺时针排序
最近做了个给图片标注的东西,我采取的思路是标注的同时将坐标全部存入一个数组,然后对该数组按X,Y分别进行排序,从而得到每个四边形的四个坐标。其中的要点就是如何对对象数组按属性大小进行排序,这里采用的是js数组提供的sort()方法,只是要稍加改一下:技术有限,只能采用最笨的方法,一层层比较。注意:我这里只适用四边形间是按x轴分布的,没考虑x,y轴重叠的四边形。例如如下图四边形分布(点为四边形的点,圈起来为一个四边形):对所有坐标按横坐标x的大小进行排序,确定哪四个点围成一个四边形对每个四边形数原创 2020-07-11 00:49:28 · 1227 阅读 · 0 评论