lh_guojw
码龄8年
关注
提问 私信
  • 博客:78,995
    78,995
    总访问量
  • 16
    原创
  • 2,339,331
    排名
  • 3
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2017-04-15
博客简介:

lh_guojw的博客

查看详细资料
个人成就
  • 获得22次点赞
  • 内容获得25次评论
  • 获得52次收藏
创作历程
  • 1篇
    2020年
  • 7篇
    2019年
  • 5篇
    2018年
  • 8篇
    2017年
成就勋章
TA的专栏
  • react
    1篇
  • jacascript
    11篇
  • css
    2篇
  • css3
    2篇
  • html5
  • 其他
    1篇
  • json
    1篇
  • angular
    1篇
  • vue
    1篇
  • 百度地图
    1篇
  • antd
    1篇
兴趣领域 设置
  • 前端
    javascriptcssvue.jsreact.jses6webpackxhtml前端框架
  • 后端
    node.js
  • 移动开发
    flutter
  • 网络与通信
    https
  • 微软技术
    typescript
  • 学习和成长
    面试
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

react事件机制分析

首先要知道,通过react注册的事件大部分并没有被注册到本身节点上,而是统一的注册到了document节点上,目标节点的事件被触时,该事件会冒泡到document上,注册到document的事件回调函数最终会执行到dispatchEvent函数,dispatchEvent函数主要进行事件分发,也就是执行需要执行的回调。第一个问题:事件处理函数是如何存储的,存储到了什么地方? 事件处理函数是如何存储的这个答案尚未得出,但是从第二个问题的答案可以看出,事件处理函数被存储到了c...
原创
发布博客 2020.09.28 ·
585 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

基于antd组件前端实现图片压缩

前端实现图片压缩的主要思路是:将图片利用canvas.drawImage进行绘制,绘制后调用toBlob方法转化为blob对象并压缩,最后通过new File()将blob对象转化为文件对象并上传;由于项目是使用antd组件进行开发的,图片上传使用的是Upload组件上传的,所以图片压缩放在了beforeUplaod方法中进行的。代码如下:<Upload accept='ima...
原创
发布博客 2019.11.04 ·
2596 阅读 ·
1 点赞 ·
7 评论 ·
4 收藏

js对象转换为查询参数拼接到url地址后面

function toQueryPair(key, value) { if (typeof value == 'undefined') { return `&${key}=`; } return `&${key}=${value}`;}function objToParam(param) { if (Object.prototype.toStrin...
原创
发布博客 2019.10.23 ·
3213 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

react、antd技术栈 新密码和确认密码相等校验

import { Form, Input } from 'antd';import React, { Component } from 'react';import { thisExpression } from '@babel/types';class ComponentA extends Component { constructor(props) { super(pro...
原创
发布博客 2019.10.21 ·
4583 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

antd 校验表单时触发对其他表单的校验

import { Form, Input } from 'antd';import React, { Component } from 'react';class ComponentA extends Component { constructor(props) { super(props); } /** * * @param {} rule *...
原创
发布博客 2019.03.22 ·
16309 阅读 ·
8 点赞 ·
11 评论 ·
10 收藏

数组的map方法返回值

先说一下数组map方法的使用:map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。map() 方法按照原始数组元素顺序依次处理元素。注意:map() 不会对空数组进行检测。注意:map() 不会改变原始数组。map方法返回一个新数组,当数组元素存在引用类型时,返回的新数组中的引用类型值和原数组中引用类型值是相等等,也就是说新数组和原数组中的引用类型...
原创
发布博客 2019.03.20 ·
14255 阅读 ·
4 点赞 ·
2 评论 ·
8 收藏

比较两个字符串日期大小的方法

let startDate = '2019-3-15 12:25:36';let endDate = '2019-4-23 12:36:45';let result = Date.parse(endDate.trim().replace(/-/g, '/')) &gt; Date.parse(startDate.trim().replace(/-/g, '/'));if(result)...
原创
发布博客 2019.03.16 ·
3316 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

使用百度地图添加标注时如何使用本地图标的方法

今天在项目中使用百度地图时,有一个需求就是在地图中添加标注,并且要使用本地的图标,于是代码这样写let myIcon = new BMap.Icon('./hongqi.png', new BMap.Size(15,25));let baiduPoint = new BMap.Point(point.longitude, point.latitude);let marker = new ...
原创
发布博客 2019.01.21 ·
4273 阅读 ·
4 点赞 ·
4 评论 ·
6 收藏

Vue中watch的一些用法

Vue中的watch对象是用来监听实例中数据的,当你有一些数据需要随着其它数据变动而变动时,就可以使用watch来监听。这里顺便提一下watch和computer的区别,watch中监听的数据,必须是在data中或者props中定义的,而computer则刚好相反,computer中定义的数据,则是在data或props中未定义的。常用的watch的写法:watch:{ user...
原创
发布博客 2018.12.05 ·
332 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

对象的深度克隆方法

方法1:function deepclone(obj) { if (typeof obj === 'object' && obj !== null) { if (obj instanceof Array) { let newArr = []; obj.forEach(item => { ...
原创
发布博客 2018.10.29 ·
248 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

vue-cli安装依赖后运行报错

These dependencies were not found:* !!vue-style-loader!css-loader?{"sourceMap":true}!../../../node_modules/vue-loader/lib/style-compiler/index?{"vue":true,"id":"data-v-de3f5272","scoped":false,"hasI.
原创
发布博客 2018.10.17 ·
1494 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

删除数组元素的两种方式splice和delete

Array.splice(start,count)const arr = ['a', 'b', 'c', 'd', 'e'];let result = arr.splice(1,2);console.log(result); // ['b', 'c'];console.log(arr); // ['a', 'd', 'e']console.log(arr.length); // 3...
原创
发布博客 2018.09.21 ·
6455 阅读 ·
0 点赞 ·
0 评论 ·
7 收藏

vue-cli中util.js详细解读

本文转载自http://www.cnblogs.com/ye-hcj/p/7078047.html,在此基础上做了部分修改代码:// 引入nodejs路径模块var path = require('path')// 引入config目录下的index.js配置文件var config = require('../config')// 引入extract-text-webpack-...
转载
发布博客 2018.09.21 ·
3721 阅读 ·
2 点赞 ·
0 评论 ·
5 收藏

flex布局的兼容性问题

flex兼容性问题
转载
发布博客 2017.09.06 ·
1096 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

angular中发布/订阅模式详解

Angular按照发布/订阅模式设计了其事件系统,使用时需要“发布”事件,并在适当的位置“订阅”或“退订”事件,就像邮箱里面大量的订阅邮件一样,当我们不需要时就可以将其退订了。具体到开发中,对应着scope和scope和rootScope的$emit、$broadcast和$on方法。本文介绍Angular的
转载
发布博客 2017.08.21 ·
2653 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Object.keys()用法

我经常使用JavaScript对象。非常喜欢。相对来说,数组虽然也很好用,但javascript Object提供了另一层次的数据结构和数据信息,这是简单的数组是无法比拟的。例如,我们可以非常方便的从一个JavaScript对象里寻找一个键值,比在数组里更迅速。通常我们探索一个对象里的属性时,喜欢使用hasOwnProperty()方法,其实这个方法很不优雅;Object.keys(不是O
转载
发布博客 2017.07.19 ·
2480 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

css3伸缩布局盒模型

CSS3引入的布局模式Flexbox布局,主要思想是让容器有能力让其子项目能够改变其宽度,高度,以最佳方式填充可用空间。Flex容器使用Flex项目可以自动放大与收缩,用来填补可用的空闲空间。  更重要的是,Flexbox布局方向不可预知,不像常规的布局(块级从上到下,内联从左到右),而那些常规的适合页面布局,但对于支持大型或者复杂的应用程序就缺乏灵活性。
转载
发布博客 2017.07.07 ·
614 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

json字符串和json对象之间的相互转换

json字符串转换为json对象用JSON.parse()方法jsonObject=JSON.parse(jsonString);json对象转换为json字符串用JSON.stringify()方法jsonString=JSON.stringify(jsonObject)
原创
发布博客 2017.07.06 ·
392 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

多行文本溢出最后一行显示省略号

现在的浏览器都支持text-overflow:ellipsis属性,用来实现单行文本的溢出显示省略号,但是这个属性并不支持多行文本。那么有没有方法在多行文本上实现同样的效果呢?1、-webkit-line-clamp Webkit支持一个名为-webkit-line-clamp的属性,他其实是一个WebKit-Specific Unsupported Property,也就是说这个
原创
发布博客 2017.07.06 ·
3633 阅读 ·
1 点赞 ·
1 评论 ·
4 收藏

一个盒子在另一个盒子中垂直居中的方法

今天介绍几种让一个盒子在另一个盒子中居中的方法;内联元素:给子盒子设置display属性为inline,然后在设置line-height为父盒子的高度html: p标签 css:.box { width: 200px; height: 200px; margin: 100p
原创
发布博客 2017.05.09 ·
4919 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏
加载更多