随笔分类 - 方法
扁平数据结构转换tree
摘要:需求,将 转换为 的形式 getPidToThree(items) { const result = []; // 存放结果集 const itemMap = {}; // // 先转成map存储 for (const item of items) { itemMap[item.id] = {...
阅读全文
axios 调用接口方法
摘要:Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中。 1. 常规使用方法 axios.get('/user?ID=12345').then((response) => { console.log(response); }).catch((error) =>
阅读全文
原生ajax调用接口方法
摘要:ajax是一种异步通信的方法,从服务端获取数据,达到局部刷新页面的效果。 过程: 创建XMLHttpRequest对象; 调用open方法传入三个参数 请求方式(GET/POST)、url、同步异步(true/false); 监听onreadystatechange事件,当readystate等于4
阅读全文
let 块级作用域在循环中执行异步操作的使用
摘要:对于没有块级作用域的变量,在循环中执行异步操作,会在循环完成后都使用循环最后的同一值 如: for (var i = 0; i < 5; i++) { ( function(j) { // j = i setTimeout( function() { console.log(new Date, j)
阅读全文
使用async 及 Promise 完成 每隔一秒依次输出 0, 1, 2, 3, 4,5
摘要:// await实现 // 模拟其他语言中的 sleep,实际上可以是任何异步操作 const sleep = (timeountMS) => new Promise((resolve) => { setTimeout(resolve, timeountMS); }); (async () => {
阅读全文
判断对象是否为指定类的对象
摘要:if (intersect.object instanceof GridHelper ){} 判断 intersect 对象中的 object 对象不是 GridHelper 类的对象,intersect 对象如上图
阅读全文
element ui 时间范围选择器删除一个选择框
摘要:// 删除一个范围时间选择器的时间选择框 // 修改整个弹出框的尺寸和位置 .trbd-date-picker-daterange-popper { width: 300px; margin-left: -20px; .el-date-range-picker__content { width: 1
阅读全文
父子组件间的双向数据绑定
摘要:vue提供了.sync修饰符,说白了就是一种简写的方式,我们可以将其当作是一种语法糖,比如v-on: click可以简写为@click。sync修饰符,与我们平常使用$emit实现父子组件通信没有区别,只不过是写法上方便一些。 背景: 日常开发时,我们总会遇到需要父子组件双向绑定的问题,但是考虑到组
阅读全文
计算两个时间的时间差
摘要:原理: 时间戳为 1970-01-01 08:00:00 距现在时间的毫秒数, 因此可以将两个时间戳相减获取两个时间的毫秒数,再将毫秒数转换成所需要的时间 const TimeDifference = (stime,etime) => { // let d1 = new Date(faultDate
阅读全文
js实现文件下载
摘要:一、HTML与文件下载 如果希望在前端侧直接触发某些资源的下载,最方便快捷的方法就是使用HTML5原生的download属性,例如: <a href="large.jpg" download>下载</a> 但显然,如果纯粹利用HTML属性来实现文件的下载(而不是浏览器打开或浏览),对于动态内容,就无
阅读全文
vue中使用v-bind="$attrs"和v-on="$listeners"进行多层组件监听
摘要:1.v-bind="$props": 可以将父组件的所有props下发给它的子组件,子组件需要在其props:{} 中定义要接受的props。 vm.$props: 当前组件接收到的 props 对象。Vue 实例代理了对其 props 对象属性的访问。 2.v-bind="$attrs": 将调用
阅读全文
vue 中用变量控制要调用的方法
摘要:changeMethod ( method ){ this[ method ] () } // 根据传入的mothod名称,选择调用的方法 如: mounted() { this.changeMethod ( "getData" ) // 调用getData方法 } methods: getData
阅读全文
vue 中的修饰符
摘要:.lazy 在默认情况下,v-model 在每次 input 事件触发后将输入框的值与数据进行同步 。你可以添加 lazy 修饰符,从而转变为使用 change 事件进行同步: <!-- 在“change”时而非“input”时更新 --> <input v-model.lazy="msg" > .
阅读全文
对scss变量做calc计算的方法
摘要:今天写代码时,需要对一个scss变量做calc处理,发现直接使用变量,浏览器是无法识别的,于是百度,发现要对变量处理才能正常使用,在此记一下用法: 假定定义变量$a = '20px',若要使用calc,直接calc(100% - $a)这么用是不行的,需要按如下使用方法: calc(100% - #
阅读全文
element ui框架中的el-scrollbar组件滚动条监测
摘要:4、监听滚动位置 <el-scrollbar ref="myScrollbar"> </el-scrollbar> let scrollbarEl = this.$refs.myScrollbar.wrap scrollbarEl.onscroll =() => { 滚动事件 }
阅读全文
获取dom元素的方法
摘要:1. 给元素设置id或类名等为element 使用 document.querySelector(".element") // 注:里面填写的是 css 选择器。 同理有 document.getElemenntById("element") / getElementByClassName / ge
阅读全文
css 标签选择,不包括某标签
摘要:选择 el-tabs__item 类的元素,不包括属于 is-active 类的元素
阅读全文
js过滤对象中指定键值对方法
摘要:对对象obj1: { a:1, b: 2, c: 3 } 要赋值给对象obj2时过滤掉c属性 可使用解构和扩展运算符: let { c, ...obj2 } = obj1; 注意: 使用let会新创建变量,若给已有变量赋值可将新创建的变量再赋值给已有变量
阅读全文
浙公网安备 33010602011771号