- 博客(53)
- 收藏
- 关注
原创 vue自定义全局指令-实现防抖与节流
export default { install(Vue, Options) { // 添加全局混入 Vue.mixin({ mounted() { console.log('组件创建成功') }, }) // 添加全局过滤器 ...
2022-10-20 15:57:00
525
原创 h5页面在ios上无法滑动与z-index无效的情况
ps:俩问题产生的原因是引用了scroll.js文件问题一:无法滑动scroll.js文件禁用了滑动事件,在不需要scroll方法的时候,解除禁用即可。 /***滑动限制***/ stop(){ var mo=function(e){e.preventDefault();}; document.body.style.overflow=...
2022-10-19 15:16:00
2933
原创 vue项目,在不同的环境下,index.html中加载不同的js文件
//根据环境变量,设置在开发环境下不加载指定的js文件<head> <% if(process.env.NODE_ENV !== "development"){%> <script async src="https://map.sgcc.com.cn/api/epgis-js-1.5.0.min.js"></script> <...
2022-10-19 15:06:00
1381
原创 vue项目打包时让版本号递增,并展示在页面上
process.env.NODE_ENV:uat/prod//version.json{"prod":"2.1.4","uat":"1.2.6"}const fs = require("fs");let packageJson = require("./src/config/version.json");function addVersion(pJson) { let ver...
2022-10-19 15:03:00
530
原创 JS 串口 16进制数据累加和取低位
JS 串口 16进制数据累加和取低位,16进制字符串所有字节加起来,再取余function checkEnd(str) { let itotal = 0, len = str.length, num = 0; while (num < len) { let s = str.substring(num, num + 2); itotal += pa...
2022-08-30 11:08:00
991
原创 开发笔记——使用gcoord转换坐标--WGS84坐标转化为高德GCJ02坐标
地球上同一个地理位置的经纬度,在不同的坐标系中,会有少于偏移,国内目前常见的坐标系主要分为三种:地球坐标系——WGS84:常见于 GPS 设备,Google 地图等国际标准的坐标体系。火星坐标系——GCJ-02:中国国内使用的被强制加密后的坐标体系,高德坐标就属于该种坐标体系。百度坐标系——BD-09:百度地图所使用的坐标体系,是在火星坐标系的基础上又进行了一次加密处理。方法一:使用...
2022-07-20 09:56:00
1844
1
原创 element-ui table 使用xlsx插件 导出Excel,使用原始的格式,解决数字列自动转科学计数法问题...
安装依赖cnpm install --save xlsx file-saver页面引入import FileSaver from 'file-saver'import XLSX from 'xlsx'添加方法exportExcel(){ /* 转换成excel时,使用原始的格式,解决数字列自动转科学计数法问题 */ let xlsxParam = { ...
2022-07-20 09:06:00
695
原创 element ui设置时间选择范围
<el-date-picker size="mini" v-model="pickerDate" type="date" value-format="yyyy-MM-dd" placeholder="选择日期" :clearable="false" style="width: 130px;" :picker-options="pickerOptions">&l...
2022-07-19 11:18:00
315
原创 将一个数组分割成多个
function sliceArray(array, size) { var result = []; for (var x = 0; x < Math.ceil(array.length / size); x++) { var start = x * size; var end = start + size; result.push(array.slic...
2022-07-12 10:49:00
165
原创 configureWebpack两种格式配置alias别名
以对象形式configureWebpack: { resolve: { alias: { '@assets': resolve('src/assets') } } },以函数形式configureWebpack: config => { if (isProduction) { ... ...
2022-07-12 10:24:00
487
原创 H5下载文件跨域问题解决方案
const downloadRes = async (url, name) => { let response = await fetch(url) // 内容转变成blob地址 let blob = await response.blob() // 创建隐藏的可下载链接 let objectUrl = window.URL.createObjec...
2022-02-14 17:53:00
969
原创 解析vue项目中的 url 的 query 数据
// 用于解析vue项目中的 url 的 query 数据// 如是 hash 模式,取 location.hash,如 #/xxx?a=1&b=2// 如是 history 模式,取 location.searchfunction parseQuery () { const str = location.search || location.hash || '' con...
2022-01-13 16:26:00
897
原创 混合app开发$router.back无效的问题
this.$router.back() try { setTimeout(() => { let path = window.location.hash.slice(1); this.$router.replace(path) }, 1); retu...
2021-12-13 17:59:00
2442
原创 将两个数组对比后合并为同一个数组
let arr = [{week:"1"},{week:"2"},{week:"3"},{week:"4"},{week:"5"},{week:"6"},{week:"7"},{week:"8"},{week:"9"},{week:"10"},{week:"11"},{week:"12"},{week:"13"}]let bb = [ {week:"2",t...
2021-09-08 17:10:00
510
原创 面试题:对闭包的理解
在 JS 忍者秘籍(P90)中对闭包的定义:闭包允许函数访问并操作函数外部的变量。红宝书上对于闭包的定义:闭包是指有权访问另外一个函数作用域中的变量的函数。 MDN 对闭包的定义为:闭包是指那些能够访问自由变量的函数。这里的自由变量是外部函数作用域中的变量。形成闭包的原因内部的函数存在外部作用域的引用就会导致闭包。从上面介绍的上级作用域的概念中其实就有闭包的例子return f就是...
2021-08-21 11:14:00
203
原创 使用v-for时为什么已经药加key
为什么要用key?Vue 和 React 都实现了一套虚拟DOM,使我们可以不直接操作DOM元素,只操作数据便可以重新渲染页面。而隐藏在背后的原理便是其高效的Diff算法。Vue 和 React 的虚拟DOM的Diff算法大致相同,其核心是基于两个简单的假设:两个相同的组件产生类似的DOM结构,不同的组件产生不同的DOM结构。同一层级的一组节点,他们可以通过唯一的id进行区分。当页面的数...
2021-08-17 20:46:00
68
原创 JavaScript简写优化方法
1、如果有多个条件我们可以在数组中存储多个值,并且可以使用数组 include 方法。//优化前if ( x === "abc" || x === "def" || x === "ghi" || x === "jkl") { //logic}//优化后//Shorthandif (["abc", "def", "ghi", "jkl"].includes(...
2021-08-16 14:15:00
93
原创 关闭vscode保存就自动格式化的功能
vscode保存文件时会自动格式化,下面更改方法:打开配置文件setting.json添加:"editor.codeActionsOnSave": { "source.fixAll.eslint": false},
2021-07-15 10:24:00
581
原创 vue项目中使用Ts+Prettier常见报错
一直报错:Delete `··`解决方法:ctrl+shift+p打开首选项json添加:"prettier.endOfLine":"crlf",报错:warning Delete `␍`解决方法:vscode下方有一个CRLF点击,在弹出窗口选择LF重新格式化即可...
2021-07-15 10:00:00
448
原创 Vue3 getCurrentInstance与ts结合使用的问题
vue3项目中,如果不用ts这样使用是没问题的const { proxy } = getCurrentInstance()在ts中使用会报错:报错:...类型“ComponentInternalInstance | null”我们在项目中一般会用到很多getCurrentInstance()方法,直接封装一下创建useCurrentInstance.ts文件:import { C...
2021-07-14 17:58:00
5814
3
原创 vue3项目中常用表单验证挂载到vue实例
// 表单验证export default { install: function(Vue) { // 空验证 Vue.config.globalProperties.check_null = function(txt) { return txt == '' ? true : /^[ ]+$/g.test(txt) } // 手机验证 ...
2021-07-14 16:01:00
246
原创 vue3项目中使用i18n国际化
1、下载il8n插件,目前通过npm install vue-il8n下载的il8n版本是无法支持vue3.0,因此要使用npm install vue-i18n@next 来获取最新的版本,我这边是的版本是9.1.6npm install vue-i18n@next 或yarn add vue-i18n@next2、在src下面创建一个名为language的文件名,并在文件下面创...
2021-06-25 10:03:00
951
原创 在vue项目中配置@指向src
平时我们在vue项目开发中,经常会引用组件或是文件会经常这么写<img src="../../src/assets/images/password_icon.png" />那么将@符号指向src,只需要这么写<img src="@/assets/images/password_icon.png" />可以避免记不清当前层级导致路径错误的情况发生vue....
2021-05-20 10:31:00
2051
2
原创 Vue项目中,引用组件库后,怎么在单个组件中自定义样式
用deep ,但并不能解决所有样式的修改,只针对部分样式有效,像这样!/deep/ .el-input__inner { position: relative; background: #f6f6f6; border-radius: 0.625rem; color: #999; padding-left: 3.125rem; height: 2.5rem; fo...
2021-03-04 19:46:00
615
原创 js中手机号脱敏
//通过字符串截取中间四位数字,转化为****function sencePhone(val) { let returnVal = val if (val) { returnVal = val.substr(0, 3) + "****" + val.substr(7) } return returnVal}sencePhone("15666666666");...
2020-10-15 09:54:00
779
原创 arraybuffer类型数据转为json
let content = file.data;//arraybuffer类型数据let resBlob = new Blob([content])let reader = new FileReader()reader.readAsText(resBlob, "utf-8")reader.onload = () => { let res = JSON.parse(re...
2020-10-13 21:11:00
1873
原创 vue中使用文件流进行下载(new Blob)
this.$axios .post(url接口地址, params请求参数, { headers: { token: token }, responseType: "arraybuffer" }) .then((file) => { let content = file.data; // 组装a标签 let ...
2020-09-03 13:31:00
1152
原创 超有用的pointer-events属性
pointer-eventsCSS 属性指定在什么情况下 (如果有) 某个特定的图形元素可以成为鼠标事件的target。/* Keyword values */pointer-events: auto;pointer-events: none;pointer-events: visiblePainted; /* SVG only */pointer-events: vis...
2020-08-26 17:33:00
204
原创 H5图片上传压缩
dataURLtoFile(dataurl, filename) { // 将base64转换为file文件 let arr = dataurl.split(",") let mime = arr[0].match(/:(.*?);/)[1] let bstr = atob(arr[1]) let n = bstr.length let u8arr = new Ui...
2020-07-09 14:58:00
176
原创 H5判断是安卓还是ios访问
//判断当前设备是ios还是安卓 isAndroidOrIOS() { var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 var isiOS = !!u...
2020-05-21 11:29:00
543
原创 ios环境下使用了overflow-y: scroll;后页面不流畅问题
页面中使用了overflow-y: scroll;ios浏览时,会不够流畅可以在当前css中添加:-webkit-overflow-scrolling: touch但这又会导致一个问题,那就是你滑动页面到底部的时候,偶尔会发现,页面滑动不了了这时可以在当前div下的子div添加style="min-height:101%" ...
2020-04-26 15:55:00
441
原创 ios上new Date()兼容
ios中new Date(time)弹出Invalid Date,不识别 new Date(2018-01-01)的写法解决方法是把- 换成/let startTime = detail.startDateTime.replace(/-/g, "/");
2020-04-26 15:23:00
116
原创 js将时间转化为刚刚、几分钟前,几小时前,几天前,几月前
function getTimer(stringTime) { var minute = 1000 * 60; var hour = minute * 60; var day = hour * 24; var week = day * 7; var month = day * 30; var time1 = new Date().getT...
2020-04-20 21:29:00
417
原创 js获取当前URL、域名、端口号
href 完整的 URL http://172.18.8.64:3000/#/postDetails?postId=24273protocol 协议 http:hostname 主机名 172.18.8.64 ...
2020-03-31 19:51:00
483
原创 前端匹配表情
//引入图片import emo_lansedexin from '../../../asset/img/emoji/emo_lansedexin.png'import emo_shuijiao from '../../../asset/img/emoji/emo_shuijiao.png'import emo_heisedexin from '../../../asset/img...
2020-03-31 17:23:00
191
原创 记一次复杂的数据转换
接到这么一个需求,后端什么都已经做好了才通知前端有这么一个任务,所以接口返回的数据结构无法更改,所以才有了以下的事情。letoldList=[["test-bt-api-gateway_test-gw-dataupload-api_test-srm-operation-api"],["test-bt-api-ga...
2020-03-10 21:57:00
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人