随笔分类 -  javaScript

摘要:最近在做项目的时候碰到了使用window.open被浏览器拦截的情况,在本机实验没问题,到了服务器就被拦截了,火狐有拦截提示,360浏览器拦截提示都没有,虽然在自己的环境可以对页面进行放行, 但是对用户来说,不能要求用户都来通过拦截。何况当出现拦截时,很多小白根本不知道发生了啥,不知道在哪里看被拦截 阅读全文
posted @ 2021-04-16 10:43 棠樾 阅读(1056) 评论(0) 推荐(0)
摘要:1.通过instanceof判断 instanceof运算符用于检验构造函数的prototype属性是否出现在对象的原型链中的任何位置,返回一个布尔值 2.通过constructor判断 实例的构造函数属性constructor指向构造函数,通过constructor属性可以判断是否为一个数组 3. 阅读全文
posted @ 2021-03-18 11:57 棠樾 阅读(327) 评论(0) 推荐(0)
摘要:1.使用(),当箭头后面跟的是JSX表达式时,只需要使用() 2.使用 ({}),当箭头后面返回的是一个对象时,需要使用({}) 3.什么括号都不使用,当箭头后面只有一条语句时,可以直接将该语句写在 => 后面 总结: 在箭头函数中(xxx) 相当于 { return (xxx)} 阅读全文
posted @ 2021-03-15 18:00 棠樾 阅读(259) 评论(0) 推荐(0)
摘要:项目需求:提交表单同时上传文件模板,同时后台要求入参格式是formData 使用 antd <Upload>组件 在控制台打印表单内容 入参由Json格式转成formData格式: const formData = new FormData(); Object.keys(values).forEac 阅读全文
posted @ 2021-03-08 11:48 棠樾 阅读(614) 评论(0) 推荐(0)
摘要:项目需求:上传文件时如果有错误信息,则上传不成功,需要提示用户下载查看错误信息。下载查看错误信息是前端根据后台返回的对象数组放到excel表格中的。 后台返回的数组: 效果如下: 在开始之前先要了解一下几个excel格式的区别: 1.后缀是xls的在2007版本之后的office打开会有提示(xls 阅读全文
posted @ 2021-02-03 10:51 棠樾 阅读(1674) 评论(0) 推荐(0)
摘要:1.console.time() 使用计时器可以对代码运行过程进行测速。你可以给每个计时器取一个名字,每个页面上最多可以运行一万个计时器。 当你使用计时器名字调用 console.timeEnd() 函数时,浏览器会返回一个毫秒值,该值表示该计时器启动到你调用 console.timeEnd() 时 阅读全文
posted @ 2021-01-18 17:35 棠樾 阅读(267) 评论(0) 推荐(0)
摘要:表头文字不换行超过点点...展示 给表头添加悬浮提示 在element中的table对slot-scope的值封装成了一个大的对象,对象里面有属性row(行),column(列),$index(索引),store, 所以我们可以通过scope.row、scope.column、scope.$inde 阅读全文
posted @ 2021-01-15 14:24 棠樾 阅读(4738) 评论(0) 推荐(0)
摘要:需求:input type="textarea"中多行输入的内容,需要放入数组中传给后台 方法:输入值.split(/[(\r\n)\r\n]+/) var str = "1a\r\n\r\r2b\n\r3c\r4d\n\r\r\r\r777".split(/[(\r\n)\r\n]+/) cons 阅读全文
posted @ 2021-01-14 18:03 棠樾 阅读(508) 评论(0) 推荐(0)
摘要:需求:在字符串拼接的时候加上空格 效果如图: 使用 \xa0,js代码如下: 阅读全文
posted @ 2021-01-14 17:53 棠樾 阅读(2874) 评论(0) 推荐(0)
摘要:项目需求:需要给一个对象的所有属性名后面都加一个s,例如:person = { name:'芳华',age:12, sex:'女'} 变成person = { names:'芳华',ages:12, sexs:'女'} 注意要用[]把动态属性括起来 阅读全文
posted @ 2021-01-14 17:49 棠樾 阅读(1729) 评论(0) 推荐(0)
摘要:axios({ method: 'post', // get 或者是post请求 url: '/api/street/jobRecord/export', // 请求地址 data: params, // 请求参数 headers: this.sessionKeys.sessionKey, resp 阅读全文
posted @ 2021-01-13 18:02 棠樾 阅读(1906) 评论(0) 推荐(0)
摘要:方法一:使用splice + for的逆向循环 要想删除数据很全就必须使用逆向循环 ( for 的正向循环 和 forEach都会删除数据不全 ) for(let i = this.arr.length - 1; i >= 0; i--) { if(this.arr[i].indexOf(item) 阅读全文
posted @ 2021-01-13 17:20 棠樾 阅读(1729) 评论(0) 推荐(0)
摘要:项目需求:要求点击行中的“其他”单元格中的字段展开相应的子表 1.点击“扩展属性”出现"扩展属性"子表,点击“国家/地区”出现国家/地区子表 2.在国家/地区子表中还有个“生命周期字段”,点击“生命周期”出现“生命周期”的子表 实现方案:使用table 中的type="expand" 同时把展开图标 阅读全文
posted @ 2021-01-13 16:53 棠樾 阅读(18718) 评论(3) 推荐(1)
摘要:AES加密方式: 步骤: 1.在src/utils文件夹中新建crypto.js文件,并在文件中写入下面代码: import CryptoJS from 'crypto-js'; export default { // 解密 data:要加密解密的数据,AES_KEY:密钥,IV:偏移量 decry 阅读全文
posted @ 2020-11-19 18:23 棠樾 阅读(934) 评论(0) 推荐(0)
摘要:项目需求:在表格中的输入框,下拉选择框是必填,提交时校验,表格的行可以添加和删除,删除时改行的校验也删除 实现方案:在需要校验的模块外面加上el-form 代码如下:注意点都在图中标注了 阅读全文
posted @ 2020-11-09 16:49 棠樾 阅读(2334) 评论(0) 推荐(1)
摘要:一、路由 在现在前端开发中,路由是非常重要的一环,但是路由到底是什么呢? 从路由的用途上来说:路由就是指随着浏览器地址栏的变化,展示给用户的页面也不相同。 从路由的实现原理上来说:路由就是URL到函数的映射。 路由本身也经历了不同的发展阶段: 1.后端路由 2.前端路由 后端路由:又可以称为服务器端 阅读全文
posted @ 2020-11-03 12:17 棠樾 阅读(142) 评论(0) 推荐(0)
摘要:sort()方法是数组自带的一种排序方法,数组在原数组上进行排序,不生成副本。 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。 1.当元素为字符串时 将元素从字符 阅读全文
posted @ 2020-10-26 15:32 棠樾 阅读(1773) 评论(0) 推荐(0)
摘要:需求:批量创建门店,要求导入的门店数量不超过1000个,由于需要对门店进行编辑,和后台的复杂度,要求不分页。 但是当导入的门店数量在900条往后时需要15 秒左右才能把页面渲染出来,很慢。所以需要前端做分页。 思路:根据请求接口得到的数据和分页展示的条数计算出有多少页 补充:项目中批量发货页面中也有 阅读全文
posted @ 2020-10-26 10:14 棠樾 阅读(601) 评论(0) 推荐(0)
摘要:post请求: get请求: 结合vue项目看一下各种情形: 总结一下: get 请求方式中,第一个参数为请求的url地址,第二个参数为请求的一些配置项,需要传递给后端的参数包含在配置项的data或者params属性中。 post 请求则第一个参数为url地址,第二个参数是需要入参的json数据,第 阅读全文
posted @ 2020-10-13 17:40 棠樾 阅读(5197) 评论(0) 推荐(0)
摘要:首先来看一个例子: 乍一看,感觉很简单,第一个fn()函数里面的this指向的是window,但是执行结果发现fn()输出的是 undefined。 为什么会出现这个问题,根本原因就是ES6和ES5变量声明的区别: 1.ES5声明变量只有两种方式 :var 和 function 2.ES6 声明变量 阅读全文
posted @ 2020-09-30 15:43 棠樾 阅读(672) 评论(0) 推荐(0)