- 博客(50)
- 资源 (1)
- 收藏
- 关注
原创 vue 点击获取元素的css属性
2、 window.getComputedStyle 获取元素的css属性对象。通过点击事件event,event.target 既被点击的元素。1、首先要获取背点击的元素。
2024-07-09 18:13:11 421
原创 js 中文乱码解决、乱码对照
API来实现ISO-8859-1编码和UTF-8编码之间的转换。1、js iso-8859-1转utf-8。在JavaScript中,可以使用内置的。
2024-03-18 16:18:30 1766
原创 js 读取剪切板的内容,并生成图片
在 Web 应用程序中,Clipboard API 可用于实现剪切、复制和粘贴功能。对象,在剪贴板访问完成后被兑现。如果剪贴板访问被拒绝,promise 也会被拒绝。只有http协议为https或者host为localhost可以使用。所有 Clipboard API 的方法都是异步的;2、clipboard的方法。写入任意数据至操作系统剪贴板。从剪贴板读取数据(比如图片)写入文本至操作系统剪贴板。
2023-05-22 18:12:00 1199
原创 git stash 用法
1、使用git stash暂存git stash pop 回到最近一次暂存git stash save "xxx" 暂存时添加暂存信息git stash list 查看暂存列表git stash apply stash@{X} 回到某个暂存版本git stash drop stash@{X} 删除某个暂存版本git stash show stash@{X} 查看暂存版本详情能够将所有未提交的修改(工作区和暂存区)保存至堆栈中,用于后续恢复当前工作目录。2、使用...
2022-02-17 18:24:46 661
原创 (typescript)Property ‘$el‘ does not exist on type ‘Vue | Element | Vue[] | Element[]‘.
Property '$el' does not exist on type 'Vue | Element | Vue[] | Element[]'. Property '$el' does not exist on type 'Element'vue 使用 typescript 报错this.$refs.orderTable.$el.querySelectorAll('.el-table__body-wrapper > table > tbody')[0]改为(t...
2022-02-16 19:35:16 1700
原创 fetch发送post请求
fetch('https://...', { method: 'post', body: JSON.stringify(base), headers: { 'Content-Type': 'application/json' } }).then(function(data) { })
2021-10-18 21:30:02 28575
原创 时间格式化Date.prototype.format
Date.prototype.format = function (fmt = "yyyy-MM-dd hh:mm:ss") { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours(), //小时 "m+": this.getMinutes().
2021-10-18 21:28:02 1099
原创 [Vue warn]: data functions should return an object:
vue报错[Vue warn]: data functions should return an object:[Vue warn]Property "customClass" must be accessed with "$data.customClass" because properties starting with "$" or "_" are not proxied in the Vue instance to prevent conflicts with Vue internals
2021-09-16 14:28:18 1010
转载 TS中的!和?用法
订阅专栏1. 属性或参数中使用 ?:表示该属性或参数为可选项2. 属性或参数中使用 !:表示强制解析(告诉typescript编译器,这里一定有值),常用于vue-decorator中的@Prop3. 变量后使用 !:表示类型推断排除null、undefined...
2021-09-02 16:18:53 13213
转载 Vue中 axios delete参数丢失
vue中axios 的delete和post,put在传值上有点区别post和put有三个参数,url,data和config,所以在使用这两个时,可以写成axios.post(api,{id:1}),axios.put(api,{id:1}),但是delete只有两个参数:url和config,data在config中,所以需要写成 axios.delete(api,{data:{id:1}})如果是服务端将参数当作Java对象来封装接收则 参数格式为:{data: param}var param
2021-06-07 18:21:26 711 1
原创 nrm安装与配置
1、nrm简介 nrm 是一个 npm源管理器,允许你快速地在 npm源间切换。 nrm可以帮助你不同的NPM登记之间方便,快捷开关,现在包括:npm,cnpm,taobao,nj(nodejitsu)。2、安装npm install -g nrm3、使用使用某个源nrm use xxxnrm use cnpm //切换到 cnpm测试源速度nrm test cnpm //cnpm 为源的名字查看列表 nrm ls (带*的为当前源)添加某...
2021-04-19 18:13:23 306
原创 nrm报错Windows系统(throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value);)
1、npm i nrm -g之后,nrm ls 报错【解决方法】打开cli.js修改如下//const NRMRC = path.join(process.env.HOME, '.nrmrc');const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');
2021-03-29 15:49:28 289
原创 正则匹配两个【】之间的字符串
匹配邻近的【】let str="未查询到邮箱【zhangsan@163.cn】的用户信息【ccc】【中的】";let reg1=/【([\u4e00-\u9fa5]*|\w*@\w*.\w*|\w*)】/g; //全部匹配str.match(reg1); // ["【zhangsan@163.cn】", "【ccc】", "【中的】"]let reg2=/【([\u4e00-\u9fa5]*)】/g; //只匹配中文str.match(reg2); // ["【中的】"]let
2021-03-26 17:40:30 508
原创 中划线转换成驼峰命名(正则匹配之边界匹配)
1、正则\b 匹配一个单词边界,即字与空格间的位置。 \B 非单词边界匹配。 //全匹配'-set-all-client'.match(/(-\w)/g)// ["-s", "-a", "-c"]//转换成驼峰function toHump(name) { return name.replace(/(-\w)/g, function(letter){ return letter.substring(1).toUpperCase(); });}.
2021-02-25 19:39:35 509
原创 从浏览器地址栏输入url到显示页面的步骤
基础版本浏览器根据请求的URL交给DNS域名解析,找到真实IP,向服务器发起请求; 服务器交给后台处理完成后返回数据,浏览器接收文件(HTML、JS、CSS、图象等); 浏览器对加载到的资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(如HTML的DOM); 载入解析到的资源文件,渲染页面,完成。详细版在浏览器地址栏输入URL 浏览器查看缓存,如果请求资源在缓存中并且新鲜,跳转到转码步骤 如果资源未缓存,发起新请求 如果已缓存,检验是否足够新鲜,足够新鲜直接提供给
2020-10-28 10:03:43 583
原创 vuex的使用
一、vuex概念Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。二、使用1、State/******* 1、通过this.$store直接访问 *******/const Counter = { template: `<div>{{ count }}</div>`, computed: { count () { return
2020-10-27 17:20:39 98
原创 清除浮动
一、为什么要清除浮动?清除浮动:使父元素围住浮动的子元素,避免对后续元素造成影响。二、方式1、给父元素设置overflow:hidden;或float:left;或position:absolute;触发块级格式化上下文(BFC)2、利用clear样式在浮动元素之后加入新元素,设置clear样式.clear-div{ clear:both;}这种方式的不完美之处在于增加了一个专门用于清除浮动的元素推荐使用伪元素,如下.clearfix:after { .
2020-10-13 15:26:37 201
转载 js手写实现call、apply、bind函数
1、callcall() 方法在使用一个指定的 this 值和若干个指定的参数值的前提下调用某个函数或方法。先看下面这个例子:var person = { fullName: function(city, country) { return this.firstName + " " + this.lastName + "," + city + "," + country; }}var person1 = { firstName:"Bill", lastName: "
2020-09-11 15:36:54 801
原创 浏览器进程
1、Browser进程即浏览器的主进程(负责协调、主控),只有一个。 负责浏览器界面显示,与用户交互。如前进,后退等 负责各个页面的管理,创建和销毁其他进程 将渲染(Renderer)进程得到的内存中的Bitmap(位图),绘制到用户界面上 网络资源的管理,资源下载等2、第三方插件进程:每种类型的插件对应一个进程,仅当使用该插件时才创建3、GPU进程:最多一个,用于3D绘制等4、浏览器渲染进程(即通常所说的浏览器内核)(Renderer进程,内部...
2020-08-21 15:40:07 883
原创 mate标签的revisit-after
revisit-after搜索引擎每隔多少天访问一次你的页面我们想设置让搜索引擎每隔7天访问一次我们的网页<metaname='revisit-after'content='7days'/>注意如果revisit-after设置为7天,搜索引擎抓取网页最短间隔时间是7天,如果搜索引擎抓取间隔大于7天,那么搜索引擎抓取间隔为搜索引擎抓取间隔,如果搜索引擎抓取间隔小于7天,这时搜索引擎抓取间隔才为7天...
2020-07-29 10:53:22 486
原创 elementUI升级到某版本
第一步,卸载掉当前版本 npm uninstall element-ui第二步,安装你想要的版本 npm install element-ui@2.13.0-S ,注意element-ui@2.13.0中间没有空格npm uninstall element-ui npm install element-ui@2.13.0-S
2020-07-07 16:27:56 2333
原创 npm ERR! Unexpected end of JSON input while parsing near ‘...:“~3.5.0“,“chalk“:“~1‘
1、npm install 安装依赖报错npm ERR! Unexpected end of JSON input while parsing near '...:"~3.5.0","chalk":"~1'npm ERR! A complete log of this run can be found in:npm ERR! C:\Users\admin\AppData\Roaming\npm-cache\_logs\2020-07-04T07_54_50_108Z-debug.log..
2020-07-04 16:35:36 276
原创 Elementui 表格单元格数据操作
1、单元格数据操作,适用于filter解决不了的数据操作,下面是几种常用写法第一种写法,利用 slot-scope="scope" <el-table-column align="center" label="Windows" min-width="105"> <template slot-scope="scope"> <span>{{ scope.row.put}} | {{ scope.row.clicke }}</spa
2020-07-01 17:58:38 2039
原创 Promise(2)——基本使用
Promise是一个函数返回的对象,我们可以在它上面绑定回调函数,这样我们就不需要在一开始把回调函数作为参数传入这个函数了1、链式调用连续执行两个或者多个异步操作是一个常见的需求,在上一个操作执行成功之后,开始下一个的操作,并带着上一步操作所返回的结果。const promise2 = doSomething().then(successCallback, failureCallback);doSomething().then(function(result) { return ...
2020-06-30 17:38:54 284
原创 Promise(1)——基本概念
1、概念Promise是一种异步编程的解决方案,语法上来说是一种构造函数,功能上来说:promise对象允许你为能代表未来结果的异步操作的成功和失败分别绑定相应的处理方法2、状态改变一个Promise有以下几种状态:pending: 初始状态,既不是成功,也不是失败状态。 resolved(又称fulfilled): 意味着操作成功完成。 rejected: 意味着操作失败。Promise对象的状态改变只有一次,从pending变为fulfilled和从pending变为reje...
2020-06-30 15:21:48 588
原创 js判断是不是上周
1、得到本周周一零点的时间戳,将当前要处理的日期转为时间戳,如果小于本周周一零点的时间戳,则为上周时间/*** monstamp为周一零点的时间戳 ***/let date = new Date()let week = date.getDay() == 0 ? 7 : date.getDay() //把周日作为一周最后一天let mon = this.time2date(1 - week).datelet monstamp = new Date(mon).getTime() - 8 *
2020-06-30 15:02:37 806
原创 ElementUI的表格换行符失效、不换行
后台返回的接口数据 ‘“名称:示例↵ID:717”,在表格种并没有换行,原因是elementUI 在表格样式中写了white-space: normal; (normal空白会被浏览器忽略 \n、↵被忽略了).el-table .cell{ white-space: normal;}解决办法://在类名为dr-table的div中的.el-table .cell子元素样式调整.dr-table .el-table .cell{ white-space: pre-wrap;}wh..
2020-06-17 18:46:03 3198
原创 git一个分支完全覆盖另一个分支
一个分支完全覆盖另一个分支(不友好)当前分支使用命令:git reset --hard origin/XXX (当前分支内容成为XXX分支)然后强推命令:git push -f
2020-06-09 23:21:26 1878 2
原创 vue中的addEventListener和removeEventListener
1、添加监听事件(addEventListener)语法:element.addEventListener(event,function,useCapture)event:指定事件名(注意:不要使用 "on" 前缀。 例如,使用 "click" ,而不是使用 "onclick")function:指定要事件触发时执行的函数(事件对象会作为第一个参数传入函数)useCapture:指定事件是否在捕获或冒泡阶段执行,默认false(true - 事件句柄在捕获阶段执行,false-事件句柄...
2020-06-09 11:25:55 9557
原创 remote: GitLab:You are not allowed to force push code to a protected branch on this project
1、强制推送失败,报错git push -f origin masterremote: GitLab:You are not allowed to force push code to a protected branch on this projectMaster分支被保护:进入项目gitlab 网页版: 设置(Settings)-仓库(Repository) -- 保护分支(Protected Branches)(把保护的分支选择 unprotected)再重新进行推送 git pu
2020-06-08 16:04:30 3582
转载 js 严格模式简介
一、概念ECMAScript 5的严格模式是采用具有限制性JavaScript变体的一种方式,从而使代码显示地 脱离“马虎模式/稀松模式/懒散模式“(sloppy)模式。严格模式不仅仅是一个子集:它的产生是为了形成与正常代码不同的语义。不支持严格模式与支持严格模式的浏览器在执行严格模式代码时会采用不同行为。所以在没有对运行环境展开特性测试来验证对于严格模式相关方面支持的情况下,就算采用了严格模式也不一定会取得预期效果。严格模式代码和非严格模式代码可以共存,因此项目脚本可以渐进式地采用严格模式
2020-06-05 17:53:08 200
原创 js Arguments对象笔记
1、概念arguments 是一个对应于传递给函数的参数的类数组对象。arguments对象是所有(非箭头)函数中都可用的局部变量。你可以使用arguments对象在函数中引用函数的参数。2、使用arguments对象不是一个Array。它类似于Array,但除了length属性和索引元素之外没有任何Array属性。function demo(a){ console.log(arguments[0]);}demo(); //undefineddemo(1); //1argu.
2020-06-05 17:13:55 152
转载 webstorm 格式化代码及常用快捷键
webstorm 格式化代码快捷键 centOS 下 Ctrl+Shift+lwindows 下Ctrl+Alt+lmac 下 Option+Command+l查找/代替 快捷键 说明ctrl+shift+N 通过文件名快速查找工程内的文件(必记)ctrl+shift+alt+N 通过一个字符快速查找位置(必记)ctrl+F 在文件内快速查找代码F3 查找下一个shift+F3 查找上一个ctrl+R 文件内代码替换c...
2020-06-03 17:08:51 3081
原创 js 防抖和节流笔记
防抖和节流都可以用于 mousemove、scroll、resize、input等事件,他们的区别在于防抖只会在连续的事件周期结束时执行一次,而节流会在事件周期内按间隔时间有规律的执行多次。
2020-06-03 17:03:51 168
原创 vue中使用防抖函数
一、基本概念在事件被触发n秒后再执行回调,如果在这n秒内又被触发,则重新计时,计时结束执行回调。 函数防抖的基本思想是设置一个定时器,在指定时间间隔内运行代码时清楚上一次的定时器,并设置另一个定时器,知道函数请求停止并超过时间间隔才会执行。二、使用1、直接使用const debounce = (function() { let timer = 0; return function(callback, ms = 200) { //设置默认200ms clea...
2020-06-02 18:19:24 6748
原创 获取元素相对于视口的位置 Element.getBoundingClientRect() 理解及笔记
1、概念Element.getBoundingClientRect()方法返回元素的大小及其相对于视口的位置。2、语法返回值是一个 DOMRect 对象,这个对象是由该元素的 getClientRects() 方法返回的一组矩形的集合,就是该元素的 CSS 边框大小。返回的结果是包含完整元素的最小矩形,并且拥有left, top, right, bottom, x, y, width, 和 height这几个以像素为单位的只读属性用于描述整个边框。除了width 和 height 以外的属性是.
2020-06-01 11:13:39 3347
原创 ElementUI table内容不换行问题
页面使用ElementUI的table组件,后台返回数据已经加了 \n 但在页面表格中不换行,很久之前遇到过一次,今天同事又遇到了记录一下将.el-table.cell{ white-space:pre;}改为.el-table.cell{white-space:pre-line;}...
2020-05-28 18:56:48 12125
原创 js 惰性函数理解
概念:在javascript里函数可以动态定义,如果创建了一个新函数并且将其分配给保存了另外函数的同一个变量,那么新函数覆盖旧函数。常用于初始化功能。原理:同名函数覆盖重写适用场景:在固定的应用环境不会发生改变,频繁使用同一判断逻辑,一次判定,多次直接使用来个经典例子:创建XHR请求,需要进行能力检测,如下function createXHR(){ if (typeof XMLHttpRequest != "undefined"){ return new XMLHttpR
2020-05-28 18:27:40 298
web3.min.js
2018-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人