自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 隐藏元素的几种方法

{ display: none; /* 不占据空间,无法点击 */ }{ visibility: hidden; /* 占据空间,无法点击 */ }{ position: absolute; top: -999em; /* 不占据空间,无法点击 */ }{ position: relative; top: -999em; /* 占据空间,无法点击 */ }{ position: absolute; visibility: hidden; /* 不占据空间,无法点击 */ }{ height: 0.

2021-03-10 10:31:53 65

原创 异步执行机制

所有同步任务都在主线程上执行,形成一个执行栈(execution context stack)。主线程之外,还存在一个"任务队列"(task queue)。只要异步任务有了运行结果,就在"任务队列"之中放置一个事件。一旦"执行栈"中的所有同步任务执行完毕,系统就会读取"任务队列",看看里面有哪些事件。那些对应的异步任务,于是结束等待状态,进入执行栈,开始执行。线程不断重复上面的第三步。...

2021-03-09 09:35:17 78

原创 vue生命周期详解

beforeCreate:Created:数据已经和data属性进行绑定(放在data中的属性当值发生改变的同时,视图也会改变)beforeMount:初始化DOM,vue实例,数据未渲染;Mounted:渲染数据;beforeUpdate/updated:触发对应组件的重新渲染beforeDestroy:钩子函数在实例销毁之前调用。在这一步,实例仍然完全可用。Destroyed:在Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被

2021-03-09 09:33:55 82

原创 DOM节点的增删改查

创建节点、追加节点createElement(标签名)创建一个元素节点(具体的一个元素)。createTextNode(节点文本内容)创建一个文本节点。createDocumentFragment() //创建一个 DOM 片段。appendChild(节点)追加一个节点。插入节点appendChild(节点)也是一种插入节点的方式,还可以添加已经存在的元素,会将其元素从原来的位置移到新的位置。insertBefore(a,b)是参照节点,意思是 a节点会插入 b节点的前面。删除.

2021-03-01 10:37:37 153

原创 JS常见清除浮动的方法

父级标签定义height高度结尾处加空div标签,clear:both父级定义overflow:hidden单伪元素法content:"";display:block;visibility:hidden;height:0;line-height:0;clear:both;双伪元素.div:before,.div:after {content: "";display: block;clear:both;}.div {zoom: 1;}...

2021-03-01 10:27:18 342

转载 elementui中下拉command事件传递多个参数

command事件中默认传递一个参数,即你每个下拉选项el-dropdown-item中设定的command的值,怎么样传递多个参数呢?我的项目中el-dropdown在一个遍历循环中,需要将index角标将参数传给@command="handleCommand"事件中。解决办法:动态设置每个el-dropdown-item中command的值<el-dropdown @command="handleCommand"> <span clas

2020-12-09 11:15:10 1530

转载 js 深拷贝代码实现

export function deepClone(obj) { let result = typeof obj.splice === "function" ? [] : {};//obj为list时typeof obj.splice为'function',为对象时typeof obj.splice为'undefined' if (obj && typeof obj === "object") { for (let key in obj) { if (obj[ke

2020-12-09 10:57:59 87

转载 setTimeout中this指向的问题

setTimeout中函数内的this是指向了window对象,setInterval同理如果想要让setTimeout中的this不指向window,可以使用以下常用办法:方法一:使用之前重新指向到一个变量,然后操作这个新的变量if (paramObj.id != null) { var that = this; setTimeout(function() { that.$emit("getResponseData", paramObj);

2020-12-07 09:53:03 188

原创 JS 数组常用方法

arr.push:数组中从后推入一个数,返回数组长度arr.pop:数组中删除一个数,返回被删除的元素arr.unshift:数组中前面加入一个元素,返回数组长度arr.shift:数组中从前删除一个元素,返回被删除的元素arr.splice(3,1):从第一个参数开始删除,第二个参数是要被删除的个数arr.join(’|’):以特定字符连接成一个字符串arr.split(’*’):以特定字符吧字符串分割开arr.indexOf(a):查找元素,返回索引arr.includes(a):用来.

2020-12-04 14:34:08 66

转载 js代替eval的办法

function evalPro(str) { var Fn = Function; return new Fn('return ' + str)();}

2020-12-04 10:48:36 290

转载 vue 文件下载实现

downloadExcel() { this.$ajax .post( downloadExcelTemplateProte, //接口 data, //参数 {responseType: "blob"} //数据返回类型 ) .then((res) => { let url = window.URL.createObjectURL(new Blob

2020-12-04 10:45:21 88

转载 uniapp.uploadFile封装并解决移动端上传时header头时间戳丢失问题

function uploadFile(obj) { var time = new Date().getTime(); var secret = Base64.stringify(hmacSHA256(token + "" + time, "0Q4icRHjJY2BRdTJdJrCFixD6OMhhd01")); var url = obj.url; //服务器地址 var filePath = obj.filePath; //要上传文件资源的路径。 var formData = obj.form

2020-12-03 10:53:10 2007

原创 vue 三大组间传值详解

父传子通过属性绑定的形式,把需要传递给子组件的数据子组件中通过props的方式接受数据<div id="app"> <!-- 1、在使用组件的时候,使用绑定命令,将所需要的VM实例数据绑定到私有组件中 --> <com1 v-bind:parentmsg="msg"></com1> </div> <script> var vm = new Vue({

2020-12-01 16:09:09 78

原创 Vuex入门及详解

在现代 Web 开发复杂多变的需求驱动之下,组件化开发已然成为了事实上的标准。组件化开发为我们带来了:更快的开发效率更好的可维护性组件内的状态管理流程每个组件都有自己的状态、视图和行为等组成部分。new Vue({ // state data() { return { count: 0 }; }, // view template: ` <div>{{ count }}</div> `, // actio

2020-12-01 10:00:38 87

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除