- 博客(17)
- 收藏
- 关注
原创 js 深拷贝的几种方法
1.使用递归//使用递归的方式实现数组、对象的深拷贝function deepClone1(obj) { //判断拷贝的要进行深拷贝的是数组还是对象,是数组的话进行数组拷贝,对象的话进行对象拷贝 var objClone = Array.isArray(obj) ? [] : {}; //进行深拷贝的不能为空,并且是对象或者是 if (obj && typeof obj === "object") { for (key in obj) { if (
2020-09-27 17:55:37 883
原创 vue中使用lodash
一、安装npm install lodash -S二、引入// main.jsimport lodash from 'lodash'Vue.prototype.$lodash = lodash三、使用<script> export default { name: '', mounted(){ this.formData = this.$lodash.cloneDeep(this.list) },
2020-09-23 19:08:01 1828
转载 JS Proxy 代理介绍
介绍Proxy是代理,可以完成对数据的处理,对构造函数的处理,对数据的验证,相当于在我们访问对象类型数据前添加了一层拦截,可以添加一些操作,可是是操作数据的,或者其他的,由自己定义。因为Proxy是构造函数,所以使用时需要new一下。语法let instance = new Proxy(target, handler);参数说明:1.target :需要使用Proxy包装的目标对象(可以是任何类型的对象,包括原生数组,函数,甚至另一个代理)。2.handler: 一个对象,其属性.
2020-09-22 14:02:21 446
原创 [Vue warn]: Unknown custom element:报错原因及解决方案
vue中报错:vue.common.dev.js:630 [Vue warn]: Unknown custom element: <video-pagination> - did you register the component correctly? For recursive components, make sure to provide the "name" option.原因是标签的组件没有引入,在components中引入一下就可以import VideoPag.
2020-09-19 11:50:24 38468 1
原创 vue中使用vue-print-nb实现打印功能
1.安装vue-print-nb插件npm install vue-print-nb --save2.在main.js中引入import Print from 'vue-print-nb'Vue.use(Print);3.页面中使用<div id="print"> 要打印的标签 <p>文字文字</p></div> <button v-print="'#print'">打印</button&g
2020-09-18 17:50:44 4581 2
原创 vue访问子组件实例或子元素
尽管存在 prop 和事件,有的时候你仍可能需要在 JavaScript 里直接访问一个子组件。为了达到这个目的,你可以通过ref这个 attribute 为子组件赋予一个 ID 引用。使用时直接 this.this.$refs.idName 就可以获取到子组件实例举个栗子:父组件中<template> <div id="app"> <div @click="hander">按钮</div> <Child ref="..
2020-09-17 15:39:43 1060
原创 A complete log of this run can be found in 报错解决
启动项目时候报错如下报错原因有可能是项目的路径不对,也可能是npm原因,更新一下npm就可以了
2020-09-17 09:45:11 1672
原创 js将字符串转化成时间戳
//将字符串转化成时间戳//2019-06-11 16:18:15function getDateFromString(str){ var reg = /^(\d+)-(\d+)-(\d+) (\d+):(\d+):(\d+)/; var s = str.match(reg); var result=""; if(s){ result = ne...
2020-09-16 20:06:51 12317
原创 flex布局常用属性
弹性盒(Flexible Box)是 CSS3 的一种新的布局模式,是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性盒布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列、对齐和分配空白空间。弹性盒子由弹性容器(父级元素)和弹性子元素(子级元素)组成。弹性容器通过将父级元素设置 display 属性的值为 flex将其定义为弹性容器。弹性容器内包含了一个或多个弹性子元素。先简单写个栗子:<!DOCTYPE html>
2020-09-16 10:25:58 1979 1
原创 vue中使用axios拦截器简介
首先在main.js引入axios,然后将其添加到vue实例的原型上,这样在其他文件就可以直接this.$http使用了import Vue from 'vue'import axios from "axios";Vue.prototype.$http = axios;请求拦截器axios.interceptors.request.use( config => { const token = sessionStorage.getItem('token')
2020-09-15 13:56:15 249
原创 axios拦截器
在src目录下的http目录创建一个http.js文件import axios from "axios"; //引入axios创建一个axios实例let http= axios.create({ headers: { 'content-type': 'application/x-www-form-urlencoded' }})请求拦截器请求拦截器会在你发送请求之前运行,一般根据是否存在token在请求头上加上token,将token传给后端,后端根据token判
2020-09-15 13:35:43 212
原创 vue修改滚动条样式
代码:<style> /deep/::-webkit-scrollbar { width: 8px; height: 8px; background-color: #062d56; } /deep/::-webkit-scrollbar-thumb { background-color: #2a79c0; border-radius: 3px; }</style>实现效果:注意:此代码之适用于谷歌浏览器...
2020-09-11 17:50:53 330
原创 解决echarts饼图文字过长显示不全及文字重叠的问题
直接上代码series: [ { type: 'pie', clickable:false, //是否开启点击 minAngle: 5, //最小的扇区角度(0 ~ 360),用于防止某个值过小导致扇区太小影响交互 avoidLabelOverlap: true, //是否启用防止标签重叠策略
2020-09-09 17:19:48 13453 1
原创 echarts修改图例文字及样式
le对象中是修改图例样式的 var data = [ {value:40, name:'在线'}, {value:20, name:'离线'}, {value:40, name:'异常'} ] option = { tooltip: { trigger: 'item', formatter: "{a} <br/>{b}: {c} ({d}%)" },
2020-09-07 16:29:08 8290
转载 js事件循环机制
一、进程和线程 进程是系统分配的独立资源,是 CPU 资源分配的基本单位,进程是由一个或者多个线程组成的。 线程是进程的执行流,是CPU调度和分派的基本单位,同个进程之中的多个线程之间是共享该进程的资源的。 二、浏览器内核 浏览器是多进程的,浏览器每一个 tab 标签都代表一个独立的进程(也不一定,因为多个空白 tab 标签会合并成一个进程),浏览器内核(浏览器渲染进程)属于浏览器多进程中的一种。 浏览器内核有多种线程在工作。 GUI 渲染线程: 负责渲染
2020-09-02 20:55:13 280
原创 vue子组件调用父组件中方法的三种方法
1.在子组件中用this.$parent.fn()来调用父组件的方法父组件中<script> export default { methods: { parentFn() { console.log('父组件的方法'); } } };</script>子组件中<template> <div> <div @click="handleClick()">点击</
2020-09-02 11:24:35 3369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人