自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 transition+max-height动画收回时卡顿问题

transition+max-height动画收回时卡顿问题例如解决例如.detaile{ max-height: 0; transition: max-height .5s; overflow: hidden; &:hover{ max-height: 1000px; }}假如内容实际高度只有100px,就回出现卡顿。应该是按照动画时间和max-height差值计算。解决max-height和实际高度差不太多就行了。...

2021-05-20 16:02:05 1099

原创 图片懒加载实现

图片懒加载实现原理实现效果图片懒加载的问题面试被问了几次,答了个大概,这次自己实现一下原理data-src<img src="./loading.png" data-src="./1.png">data-src就是一个自己定义的属性,可以通过DOM.getAttribute(‘data-src’) 取到自定义的值。2. data-src存放图片路径,src放loading的图片,然后根据el.getBoundingClientRect() 判断当前图片dom和可视区域的距离来决

2020-11-15 17:07:54 272 1

原创 vue 改变父子组件mounted执行顺序

vue 改变父子组件mounted执行顺序问题简介父子组件生命周期顺序实现父组件mounted之后子组件mounted最后问题简介最近在用vue做Cesium地图相关的东西,有一个需求是这样,一个地图为底图,然后有一个菜单切换不同的业务场景(业务场景都是在地图上做操作,打点,显示一些悬浮框什么的。。。)原来的代码是每一次切换都重新初始化一遍地图,比较耗性能(需要请求大量的地图资源)。于是我想重构以下代码,简单思路就是只初始化一遍地图,业务页当成地图的子组件或者子路由,但是问题就是业务组件(子组件)需要

2020-10-11 21:29:59 3319 5

原创 animation+transform科技感动画效果

效果代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> html,body{

2020-10-06 21:33:40 1112

原创 echarts根据可视化窗口变化改变图表尺寸

echarts根据可视化窗口变化改变图表尺寸echarts改变图标尺寸resize监听窗口大小变化onresize原理代码实现加防抖echarts改变图标尺寸resize官方API监听窗口大小变化onresize官方API原理用onresize监听窗口大小变化,窗口变化后将echarts图大小进行重置(resize)代码实现// echarts实例let bar = this.$echarts.init(document.getElementById('bar'))// 配置项opt

2020-10-03 13:00:20 540

原创 canves移动端模糊问题记录

canves移动端模糊问题记录https://segmentfault.com/a/1190000019007037

2020-09-08 20:51:46 95

原创 vue 数据改变,视图没有更新

vue 数据改变,视图没有更新修改数组中对象的属性时,直接修改不能触发视图更新,要用this.$set(Array, ‘property’, data)

2020-05-26 11:04:14 217

原创 * -!../node_modules/_css-loader@3.5.3@css-loader/dist/cjs.js??ref--8-oneOf-1-1!../node_modules/_vue-

开发环境vuecli4问题描述:使用@import引入.scss文件时报错:原因:@import url('./common.scss');解决:@import './common.scss';tmd Fuck!!!!

2020-05-11 23:32:48 20568 4

原创 css 子元素继承父元素的高度

css 子元素继承父元素的高度现状期望实现1实现2父元素中有a、b两个子元素,a高度为300px,撑开父元素也是300px,此时想让b也是300px。现状期望实现1father:position: relativeb:position: absoluteheight: 100%实现2father:display: flex...

2020-05-08 20:32:33 15602 1

原创 vue 路由懒加载

vue 路由懒加载{ path: '/', name: 'test', component: () => import('./test')},路由懒加载:按需加载路由,加快启动速度,路由切换速度会有影响,在大量路由的项目中可以使用,优化项目启动速度。...

2020-05-07 17:24:27 118

原创 关于tm的this指向问题

为啥用this由于自己比较菜,对为啥要用this的理解就是方便、简洁,可以隐式的传递一个对象的引用,让代码逻辑简洁,方便。this的指向问题误解一:this指向函数自身...

2020-04-26 09:06:20 158

原创 call、apply、bind

call、apply、bindfunction out (age) { console.log(this.name, age)}let person = { name: 'xx'}out.call(person, 15)// xx 15out.apply(person, [15])// xx 15out.bind(person, 15)()// xx 15

2020-04-23 15:58:40 95

原创 js之传递参数

传递参数复制基本类型最近在重新看js高级程序设计,对之查缺补漏,以后每次碰到值得记录的都会发文。在了解参数传递的之前,首先要知道js复制引用类型和基本类型的区别。复制基本类型let a = '1'let b = a...

2020-04-13 23:31:58 566

原创 关于js原型笔记

js原型原型链的查找原则和动态性就近查找原则动态性关于constructor原型链的查找原则和动态性js原型大家都不陌生,但是涉及到原型链有些时候会蒙圈(我本人就是),下面介绍一下我对原型链的理解。就近查找原则对象访问一个属性,假如对象本身没有这个属性,会从原型链的底端向上查找这个属性。// 创建一个‘爷爷’function Ground() {}Ground.prototype =...

2020-04-13 15:20:29 121

转载 什么是BFC?什么条件下会触发?应用场景有哪些

原文地址

2020-04-09 14:31:44 1270

原创 vue路由回退

vue路由回退router.push()router.replace()router.go()实现回退最近用vue做app,要实现点击回退按钮返回上一页。首先先介绍一下router.push、router.replace和router.gorouter.push()想要导航到不同的 URL,则使用 router.push 方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点...

2020-03-03 11:09:04 3238

原创 在vue-cli3中使用jRange

在vue-cli3中使用jRangejRange简介在vue-cli3中使用1.安装jquery2.下载jRange3.mian.js引入jRange4.最后在使用组件中引入jquery,并使用效果jRange简介参考:jRange使用官网地址:http://nitinhayaran.github.io/jRange/demo/git地址:https://github.com/nitinh...

2020-02-18 19:19:19 295

原创 css实现边框内半圆凹槽

实现原理先画一个半圆,利用伪类把半圆放在border上代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&...

2020-02-06 17:31:00 5916

原创 js数组把某一项移动到某一位置

let arr = [1,2,3]let item = arr.splice(1, 1) // arr删除2,把2给itemarr.splice(2, 0, item[0]) // 把2添加到arr最后console.log(arr)// [1,3,2]

2020-01-13 17:01:44 11194

原创 es6-对象扩展(二)

es6-对象扩展(二)关于原型Object.setPrototypeOf()关于原型es6添加了__proto__属性来指向原型,__proto__大部分浏览器都部署了这个属性,但是其他环境不一定部署(node),所以es6提供了两种方法来去读和设置原型对象。Object.setPrototypeOf()用于设置对象的原型对象。...

2019-12-12 16:14:13 139

原创 window系统局部安装webpack,运行时报错webpack.ps1解决办法

1.以管理员运行vscode2.get-help set-executionpolicy3.set-executionpolicy remotesigned

2019-12-11 21:27:05 137

原创 js原型

js原型什么是原型构造函数、原型、实例,三者关系实例中属性读取顺序什么是原型一个新创建的函数自身都会带一个prototype属性,这个属性指向这个函数的原型对象,原型对象自带一个constructor属性,这个属性指向这个函数。构造函数、原型、实例,三者关系构造函数的prototype属性指向原型,原型的constructor属性指向构造函数,构造函数通过new操作符创建实例,实例继承原型...

2019-12-10 11:05:08 146

原创 flex-(一)容器的属性

flex-(一)容器的属性flex简介一、基本概念flex简介布局的传统解决方案,基于盒状模型,依赖 display 属性 + position属性 + float属性。它对于那些特殊布局非常不方便,比如,垂直居中就不容易实现。2009年,W3C 提出了一种新的方案----Flex 布局,可以简便、完整、响应式地实现各种页面布局。目前,它已经得到了所有浏览器的支持,这意味着,现在就能很安全地...

2019-11-19 23:20:49 262

原创 vue-cli打包抽离出配置文件

vue-cli打包抽离出配置文件需求在static中添加配置文件config.js修改index.html需求同一份代码,适应两份需求。解决:打包后抽离出一份配置文件,在部署时通过修改配置文件达到适应不同的需求。在static中添加配置文件config.jsconfig.js打包后不被打包,如图config.js内容window.home={ id: 1 // 首页河南...

2019-11-19 16:02:09 620

原创 es6-对象扩展(一)

对象扩展属性简介表达(一)属性名表达式Object.is()Object.assign()属性简介表达(一)一句话,对象的属性如果是一个变量,那么值就是这个变量代表的值let name = 'uzi';let user = {name};user // {name: "uzi"}// 对于对象中方法也一样let test = { tt() {}};// 等同于let test...

2019-11-13 16:00:35 528

原创 关于iframe添加点击事件问题

iframe添加点击事件假如要实现个功能,头部是下拉框下面是iframe页面,要实现功能为点击iframe下拉框关闭,百度了好久发现在iframe跨域的时候根本没有onclick事件,但是可以换个方法解决,利用document.activeElement(当前获得焦点的元素)来实现此功能,设一个定时器setInterval,不断判断document.activeElement和document....

2019-11-13 12:13:13 1460

原创 vue ie11打包后页面空白

vue打包后不兼容iePromise问题Promise问题ie是个神奇的浏览器不兼容es6,也就不兼容promise。解决方法npm install --save babel-polyfill // 安装babel-polyfill修改配置文件两种方案:第一种: 在main.js中添加import ‘babel-polyfill’import Vue from 'vue'im...

2019-11-12 19:46:56 918

原创 Promise.all执行顺序

Promise.all执行顺序理解栗子理解Promise.all等待所有Promise执行完毕之后,按照放在all中的先后顺序将resolve()返回的数据放在Promise.all的resolve中,说也说不明白,写个栗子吧。。。栗子// 方法a,返回一个Promise对象function a() { return new Promise((r, j) => { setTi...

2019-11-08 11:17:00 8786 1

原创 es6-数组扩展

es6数组扩展扩展运算符Array.from()Array.of()新增数组实例方法copyWithin()find()和findIndex()fill()entries()、keys()和 values()includes()扩展运算符在es6的数组扩展中,扩展运算符是平时应用最多最方便的,扩展运算符(…)可以将一个数据转为用逗号分割的参数序列。let a = [1, 2, 3];con...

2019-11-04 18:49:26 143

原创 联调接口500,后台断点进不去

今天将内网项目迁移到外网,前后端什么都没改,但是接口进来就500。后台打断点也进不去。折腾一会发现我本地ping后台ip都ping不通,已排查发现后台防火墙没有关。。。后台关闭防火墙后,一切正常。还有一点很懵逼,我连后台ip都访问不了,接口不应该404吗,为啥500呢???...

2019-10-24 15:42:13 1445

原创 es6-函数扩展

函数默认值+解构赋值默认值:给函数参数添加默认值更加简洁。// ES5 添加默认值function fun (x, y) { y = y || 5;}// ES6 添加默认值function fun (x, y = 5) {}优点:1.带默认值的参数写在最后,可以省略不传。2.更新版本时,可以将默认值参数去掉。参数的默认值还可以是变量function fun (x...

2019-10-24 11:31:00 3979

原创 es6-模板字符串

es5:var name = 'uzi';var str = 'bast adc is'+ name;str // bast adc is uzies6:let name = 'uzi';let str = `bast adc is ${name}`;str // bast adc is uzi;``中放字符串,变量用${}包裹。...

2019-10-23 10:37:06 147

原创 es6-解构赋值

数组解构赋值基本用法let [a, b, c] = [1, 2, 3];a // 1;b // 2;c // 3;-----------------------------------let [a, b, c] = [1, [2, 3], 4];a // 1;b // [2, 3];c // 4;-----------------------------------le...

2019-10-21 15:42:03 787 1

原创 es6-let和const

不存在变量提升必须在声明后使用a; // a is not definedlet a;块级作用域{}中的区域暂时性死区定义:es6明确规定,如果区块中存在let或const命令,则这个区块对这些命令声明的变量从一开始就形成封闭的作用域。只要在声明前使用这些变量就会报错。var a = 555;// 报错function () { a = 666; let a = 777...

2019-10-17 10:29:34 147

原创 解决两个相同的字符串判断不相等问题

今天从后台取来的数据,判断两个字符串是否相等时出现了一个问题,就是两个字符串打印出来明明一样,但就是不想等,查了以后发现:有些特殊字符是不显示的(%20空格)。通过encodeURIComponent(str)操作就能看见解决办法: a.trim() === b.trim() 去除首尾空格...

2019-10-12 11:01:11 5729 1

原创 vue-cli3+ts创建项目(超详细)

没有摘要,直接来吧

2019-10-08 23:22:26 8207 2

原创 nvm下载太慢问题解决

由于nvm默认的下载地址http://nodejs.org/dist/是外国外服务器,国内很慢可以使用淘宝的镜像。where nvm 找到nvm安装路径找到settings.txt文件将下面这两句话复制到settings.txt,并保存node_mirror: https://npm.taobao.org/mirrors/node/npm_mirror: https://npm....

2019-10-08 21:26:30 19369 5

原创 关于vue/cli3打包空白页问题解决

前提在vue-cli2中也出现过打包后本地打开index.html空白页问题,解决办法:修改config文件夹中ndex.js文件中assetsPublicPath属性为assetsPublicPath: ‘./’,路由用hash模式环境vue-cli3package.json文件如下:{ "name": "my-temp", "version": "0.1.0", ...

2019-10-02 20:31:03 7972 3

原创 node版本管理器nvm的安装及使用

nvm安装+基本使用安装nvm安装node使用nvm管理node版本项目中可能遇到两个项目node版本不一样,nvm可以安装多个版本node,不同版本随意切换,很是方便。如果已经有安装好的node请下载!!!再往下看。安装nvm下载地址:nvm下载。选择nvm-setup.zip进行下载。解压后进行安装(一直下一步),安装成功后,验证:cmd输入nvm安装node使用nvm ins...

2019-09-30 19:42:32 299

原创 js数组操作

一.判断某一对象是否为数组1.Array.isArray(arr)let arr = [1, 2, 3];Array.isArray(arr); // true2.instanceoflet arr = [1, 2, 3];arr instanceof Array; // true二.添加1.push(value)//在数组末端插入,执行成功返回...

2019-09-25 23:06:05 253

空空如也

空空如也

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

TA关注的人

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