自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 react hooks的优缺点

优点更容易复用代码这点应该是react hooks最大的优点,它解决了类组件有些时候难以复用逻辑的问题。通过自定义hooks,便可以轻松复用逻辑。清爽的代码风格函数式编程风格,函数式组件、状态保存在运行环境、每个功能都包裹在函数中,整体风格更清爽,更优雅代码量更少向props或状态取值更加方便,函数组件的取值都从父级作用域直接取,而类组件需要先访问实例引用this,再访问其属性state和props,多了一步更改状态也变得更加简单, this.setState({ count:xxx })变成

2021-07-26 11:20:43 1806

转载 position:fixed失效的几种情况

在许多情况下,position:fixed 将会失效。MDN 用一句话概括了这种情况:当元素祖先的 transform 属性非 none 时,定位容器由视口改为该祖先。What!还有这种操作?可能有部分同学还没 get 到上面这句话的意思,通俗的讲就是指定了 position:fixed 的元素,如果其祖先元素存在非 none 的 transform 值 ,那么该元素将相对于设定了 transform 的祖先元素进行定位。那么,为什么会发生这种情况呢?说好的相对视口(Viewport)定位呢?这个问

2021-04-16 11:29:15 4436

原创 vuex面试题

vuex 的设计理念是什么? 或者说 vuex 的工作流是什么?vuex 里的 mutation 和 action 的联系和区别.你认为 vue 2.x 后期引入的 provide/inject 能否替代 vuex, 为什么?举例说明你在工作中使用 vuex 的一个具体场景, 在这个场景中, vuex 是否是可替代甚至可删去的, 为什么?vuex 的 module 解决了什么问题?如果由你自己实现一个 vuex, 你会考虑哪些方面?...

2021-03-01 10:39:47 155

原创 ts string 元素隐式具有 “any“ 类型,类型为 “string“ 的表达式不能用于索引类型 “{}“

今天写react的时候碰到这个问题import { AppstoreOutlined, ApiOutlined, PieChartOutlined, DollarOutlined, TeamOutlined,} from '@ant-design/icons';const Icons = { AppstoreOutlined, ApiOutlined, PieChartOutlined, DollarOutlined, TeamOutlined,};co

2021-02-23 16:57:37 6478 3

原创 rem布局使用方法

下面的代码一是我根据rem的使用经验,自己写的一个rem.js,发现很好用,能适用所有移动端h5页面的自适应需求:代码一:window.onload = function(){ /*720代表设计师给的设计稿的宽度,你的设计稿是多少,就写多少;100代表换算比例,这里写100是 为了以后好算,比如,你测量的一个宽度是100px,就可以写为1rem,以及1px=0.01rem等等*/ getRem(720,100)};window.onresize = function()

2021-02-23 15:04:58 654

原创 微信小程序中Callback回调函数

微信小程序中,onLaunch 方法和 onLoad 方法是同时执行的,但是有时我们需要等 onLaunch 方法执行完毕之后在 onLoad 方法中获取某个网络请求得到的值,由于网络请求有时会比较慢,所以 onLoad 方法可能在 onLaunch 方法之前执行,这时候我们可以自定义 Callback 回调函数来解决问题实例:在小程序启动时的 onLaunch 方法中网络请求一组数据放入 globalData 全局变量中,在页面的 onLoad 方法中获取全局变量app.js代码App({ //

2021-02-23 15:03:27 1899

原创 SSI指令教程

SSI是指服务器端嵌入或者叫服务器端包含,是Server Side Include的简写。SSI技术通过在文档中加入SSI指令,让服务器端在输出文档之前解析SSI指令,并把解析完的结果和文档一同输出给客户端。SSI的指令格式为:其中,directive是指令名,parameter指令的参数,value指令的参数值可以看到,就是html注释,事实上,Web服务器开启了SSI,并且页面包含可以解析的指令,那么Web服务器就解析这个指令。没开启器SSI或者开启了SSI,但是不是可以解析的指令,那么都当做注释

2021-02-23 15:02:24 1172

原创 小程序overflow:hidden在真机上失效

父元素使用border-radius 和 overflow:hidden;子元素使用了transform属性,父元素的overflow:hidden;会失效。解决方法:父元素设置以下两个属性:-webkit-backface-visibility: hidden;-webkit-transform: translate3d(0, 0, 0);...

2021-02-23 15:00:28 694 1

原创 svg path 路径的所有命令

M = movetoM x y 移动到指定坐标,xy分别为x轴和y轴的坐标点,类似画笔的起点。path中的起点,必须存在(文档中虽然没有提到过,但是path的其他命令都需要依赖一个初始位置,而实际操作过程中也没有需要到可以不使用M的情况,后面发现有例外我再过来补充。L = linetoL x y 在初始位置(M 画的起点)和xy确定的坐标画一条线。两点一线,直线,绘图中很常见的方式。H = horizontal linetoH x 沿着x轴移动一段位置V = vertical lineto

2020-05-26 11:04:01 464

原创 解决Unable to find the wrapper "https"

今天遇到一个问题,用file_get_contents读取https的链接,就会出现错误,提示解决Unable to find the wrapper “https” - did you forget to enable it when you configured PHP?网上搜了很多问题,大部分都是说修改extension=php_openssl,但是经过修改后仍然没有用,最后解决了问题,大...

2019-10-18 22:33:23 680

原创 JS基础知识——运动框架

运动框架及应用在开始运动时要关闭定时器把运动和停止分割开(if/else)缓冲运动距离大速度大,距离小速度小speed=(300-oDiv.offsetLeft)/10像素只能精确到个位不能有小数点,会舍去小数点Math类Math.ceil 向上取整Math.floor 向下取整从左往右速度要向上取整从右往左速度要向下取整Math.round()四舍五入取整数右下角悬浮框...

2019-08-14 15:57:43 172

原创 QQ飞车官网幻灯片轮播功能的实现

首先贴出HTML代码: <div class="banner_center l"> <div class="banner_list"> <ul class="banner_list_ul"> <li> <a href=...

2019-08-14 15:44:25 205

原创 JS应用——页面底部弹窗随导航条移动缓慢移动

很多网页都有右下角弹窗,比如广告或者一些提示框,那么如何用JS达到一种滑动条移动时,弹窗逐渐移动的效果。首先这种效果可以叫做缓冲运动,其速度会随着元素与目标点距离而变慢。我们看看代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta n...

2019-08-11 19:18:57 512

转载 offsetLeft和style.left的区别

1.offsetLeft获取的是当前元素距流中父元素左侧的值,包括父元素的padding-left、margin-left、border-left2.如果当前元素已从普通流中删除,使用了绝对定位absolute或固定定位fixed,offsetLeft获取的是当前元素距已定位的父元素左侧的值,即left当前元素的margin-left。3.style.left返回值为字符串,如”21px”,o...

2019-08-09 12:52:23 118

原创 JS基础知识记录(四)-定时器的使用以及应用

开启定时器:setInterval 间隔型setInterval(函数,时间)时间单位毫秒,每隔多少时间执行一次函数(执行无限次)setTimeout (函数,时间)时间单位毫秒,每隔多少时间执行一次函数(只执行一次)结束定时器:clearInterval(关闭的定时器名)不加定时器名,默认关闭所有定时器eg :var timer=setInterval(XX,XX);clea...

2019-08-09 11:06:30 186

原创 JS基础知识记录(三)-数组以及其操作

例如:var a=[1,2,3] var a=new Array[1,2,3]基本没有差别,前者性能高一些a.length 不仅可以读,还可以设置,可以截取数组同一个数组数据尽量数据类型相同数组的添加方法: push() 给数组末尾添加 unshift() 往头部添加元素数组删除方法: pop() 删除末尾元素 shift() 从头部删除元素...

2019-08-09 10:15:53 98

原创 JS基础知识记录(二)-取非行间样式

取非行间的样式例如:style.width只能操作行间样式currentStyle.width非行间样式 //只兼容IEgetComputedStyle(div1,false).width //chrome,火狐旧版本只兼容此方法 复合样式:background border... 单一样式:width height posit...

2019-08-09 10:14:08 91

转载 JSON与JS对象的区别

和一些同学一样:总是感觉json对象(其实json不是对象)和js对象的字面量表示法相同,最近学习json,真心搞不懂,js对象和json有什么区别?就是感觉json的key要用” “括起来,但是js对象的字面量表示法不需要。  比如://js对象的字面量表示法:var people1={name:'hehe',age:18};//json的格式是...

2019-08-08 23:32:07 69

原创 JS基础知识记录(一)

1.alt shift f格式化代码,全部重新排列2.输出语句(不是ES标准)doucument.writealertconsole.log3.输入语句prompt("") 类似alert的弹框4.JS数据类型原始类型 不可再细分的类型1.数字类型 number2.字符串类型 string单引号 双引号 飘`(模板字符串)支持换行字符串中符号可以使用转义符\ \n换...

2019-08-08 20:50:25 152

空空如也

空空如也

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

TA关注的人

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