自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 antd 被包裹form元素点击清除图标后,数据未更新问题

bug复现:input/textarea 设置了allowClear属性为true,当点击清除图标后,form中关联的input/textarea 中的值未更新。import React from 'react';import ReactDOM from 'react-dom';import 'antd/dist/antd.css';import './index.css';import { Form, Input, Button } from 'antd';const Demo =

2021-11-03 17:55:31 1015

原创 git更换主分支master

1、备份原master代码1、git checkout master2、git pull3、git checkout -b master-copy2、设置github或gitlab默认分支和受保护分支属性以gitlab为例:点开项目仓储,找到settings--repository 找到Default Branch,设置默认分支为其他分支 Protected Branches,如果master分支为受保护分支,点击下方的unprotected 如图3、切换.

2021-05-18 10:49:41 5844

原创 submodule 指定对应分支

1、创建子模块时指定一个分支​​​​​​​通过-b指定对应分支git submodule add -b master [URL to Git repo];2、在.gitmodules文件中设置分支其中 DbConnector 是主目录中安装的子目录的名称, stable 是对应要设置的分支名称git config -f .gitmodules submodule.DbConnector.branch stable​​​​​​​3、主目录中找到对应的子模块,切换到对...

2020-09-10 16:39:23 28391

原创 cookie详解

常见的浏览器端的数据存储主要包括cookie、sessionStorage、 localStorage三大类。cookiecookie的出现主要是解决http是无保存状态的协议带来的弊端。

2020-08-28 18:00:24 306

原创 antd 分页onShowSizeChange onChange问题

antd 分页组件当pageSize发生改变的时候会触发onShowSizeChange的回调,然后会触发onChange的回调。原因分析:onChange 页码改变的回调,参数是改变后的页码及每页条数 function(page, pageSize) onShowSizeChange pageSize 变化的回调 function(current, size) 官方API可以看出,onShowSizeChange ->function(current, si.

2020-07-31 16:30:43 8304

原创 docker pull报错: Error response from daemon:server misbehaving

docker 在拉取镜像时,报错server misbehaving。错误原因: DNS服务器配置问题。解决方案: 修改DNS配置文件,增加nameserver如下#打开配置文件并进行编辑vi /etc/resolv.conf#resolv.conf 增加nameservernameserver 114.114.114.114注:定位错误一定要准确...

2020-05-06 16:06:16 3261

原创 gitlab runner实现自动化部署

前言GitLab Runner是一个开源的项目,是用来执行GitLab中的项目的根目录下创建的.gitlab-ci.yml 脚本的工具。GitLab-CI可以比喻成管理工人的工厂,Runner是工厂里的工人,每个工人需要在工厂进行注册,所负责的项目不同,所做的工作也不同。当工厂某一个项目发生变动时,需要通知对应的工人去做对应的工作。具体部署流程图GitLab Runner简介1. Run...

2020-03-02 11:45:58 6141 1

原创 docker+gitlab+jenkins从零搭建自动化部署

介绍本文主要通过docker+gitlab+jenkins来实现自动化集成和部署的全过程,并不会详细的去介绍各种工具的功能。流程结构准备工作1台测试服务器,用于安装docker, 并在docker中配置jenkins,部署代码等。(公司准备的是内网测试机)新建一个vue项目,然后推送到gitlab仓储。开始配置工作docker1. 在服务器上安装docker更新软件库...

2020-02-25 10:38:32 6360

原创 new原理分析

首先先来段我们熟悉的代码function Person(name, age) { this.name = name; this.age = age;}Person.prototype.say = function(){ console.log('i can speak');}let girl = new Person('weboof', 18);con...

2019-11-27 12:05:50 207

原创 组件化和模块化的区别

前言:组件和模块的定位不同。组件一般用于前端,模块化在后台运用的比较多。例如vue中的组件,主要是为了拆分vue实例的代码量,让我们可以以不同的组件来划分不同的功能模块,将来我们需要什么样的功能,就直接调用对应的组件即可。区别:组件化:主要从ui界面上进行划分。例如前端的组件化,方便ui组件的调用。模块化:主要从代码逻辑的角度进行划分,方便代码分层开发,保证每个功能模块职责单一。...

2019-10-28 17:49:21 7146

原创 css: padding百分比详解

今天来介绍一个我们经常用到的css属性padding。但是它有一个我们不常使用的值,那就是百分比!padding百分比特点:padding的百分比是相对于父元素宽度,如果父元素有宽度,相对于父元素宽度,如果没有,找其父辈元素的宽度,均没设宽度时,相对于屏幕的宽度。1、padding的所有值相对于屏幕宽度<body> <div class="padding...

2019-10-24 16:29:27 11322

原创 移动端1px的解决方案

前言对于前端开发来说,如何完美的还原UI设计图也是体现了开发功底的,设计师对于我们的要求也是越来越高。例如,如何实现移动端边框1px?为什么1px在不同的设备下展示的粗细不一样?产生原因说到这里,我们不得不介绍一下DPR(devicePixelRatio) 设备像素比,它是默认缩放为100%的屏幕下,设备像素和css像素的比值。DPR(设备像素比) = 物理像素 / css像素 ...

2019-10-24 15:43:55 768

原创 vuex 在typescript中的详细使用: vuex-class

我们要说的vuex在ts文件中的使用主要是利用vuex-class!安装vuex-class$ npm install --save vuex-class# or$ yarn add vuex-classExample直接上代码,主要用法在代码中已经完全体现了,大家感受一下。import { Vue, Component, Prop, Watch } from 'vu...

2019-09-06 18:25:41 15857 5

原创 深入理解vuex

1、什么是vuex?Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化,从而到达各个组件之间的数据共享!什么情况下我应该使用 Vuex?引用 Redux 的作者 Dan Abramov 的话说就是:Flux 架构就像眼镜:您自会知道什么时候需要它。当我们的项目越来越复杂时...

2019-09-06 17:57:26 195

原创 git新增、修改、删除本地和远程分支

新增分支git checkout -b newBranchName把本地分支push到远程仓库git push origin newBranchName:remoteBranchName删除分支git push origin :branchName (注意空格)修改本地分支名称1、git branch -m oldBranchName newBranchName (修...

2019-09-03 14:52:43 922

原创 解决【微信开发者工具】调试【企业微信】自建应用网页出现未绑定企业号开发者

强调一下:微信开发者工具可以调试企业微信的自建应用,暂时还不支持调试第三方应用。调试第三方应用时同样也会提示未绑定企业号开发者。下面将针对如何调试自建应用出现的企业号未绑定问题。1、首先,将自己设置为企业微信的管理员。2、进入企业微信---我的企业---微工作台---勾选开发者工具然后在微信开发者工具中打开就可以了。关于第三方应用目前可以先在手机端企业微信中安装测试应...

2019-03-06 15:42:42 9953 2

原创 企业微信-第三方应用网页授权登陆

1、构造第三方应用网页授权链接如果第三方应用需要在打开的网页里面携带用户的身份信息,第一步需要构造如下的链接来获取 code:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&amp;redirect_uri=REDIRECT_URI&amp;response_type=code&amp;scope=SCOPE...

2019-03-05 11:00:32 27254 2

原创 angular7新特性

Angular 是最流行的 Web 应用程序开发框架之一。随着 Angular 7 的发布,它为 Web 开发人员带来了更多功能,包括核心框架、Angular Material、与主要版本保持同步的 CLI 和工具链,并且还有了几个主要合作伙伴。依赖更新TypeScript 3.1 在使用 Angular 7 时,必须使用 TypeScript 的最新版本。RxJS ...

2019-03-01 15:05:26 2443 2

原创 nodejs 开发企业微信--第三方应用服务商注册应用

最近公司要开发企业微信端的 worktile,以前做的是企业微信内部应用,由于开发的是企业内部应用,所有只适用于私有部署客户,对于公有云客户就无法使用,所有就准备开发企业微信的第三方应用,本文主要介绍在调研阶段遇到的山珍海味。开发之前你需要前注册为第三方服务商,然后用第三方服务商的账号创建应用,创建之后只需要管理员授权应用,第三方服务商即可为用户提供服务。这里我们主要研究第三方服务商注册应用。...

2019-02-27 17:06:59 764

原创 深入理解module.exports、exports、require、export、export default、import

前言:说到module.exports、exports、require、export、export default、import这些,有一点我们是必须要提一下的,就是模块化编程方式。以上这些都是模块之间的导入和导出。什么是模块化当你的网站越来越复杂时,我们往往会遇到一下情况,导致我们生产效率低,可维护性差:恼人的命名冲突 繁琐的文件依赖   历史上,JavaScript一直没有模块...

2019-02-27 11:46:20 1045

原创 More than one module matches. Use skip-import option to skip importing the component into the closes

今天在angular中执行 ng g c componentName 时,出现More than one module matches. Use skip-import option to skip importing the component into the closes的报错信息,下面主要说一下产生原因及解决方法。产生原因:在该工程下,有两个module文件,我在该项目下有一个app.mo...

2018-05-30 18:07:09 5727 2

原创 angular 中使用css预处理器

在angular项目中,默认的样式文件为.css,如果我们想使用css预处理器,如何创建项目或是修改原css的项目呢,下面以scss为例。1、创建新项目时:ng new angularProjectName --style=scss或 ng new angularPeojectName --style scss2、修改原有项目:    我们都知道,在angular 6.x以后,生成的angular...

2018-05-30 17:51:30 1008 2

原创 MIME type 问题的解决

出现背景:在angular项目最后的打包部署阶段,打包成一个dist静态文件夹,其内放置的是一些静态文件,然后在编辑器中直接运行index.html,出现以下错误:Refused to execute script from 'URL' because its MIME type ('text/html') is not executable, and strict MIME type check...

2018-04-08 14:43:13 17470

原创 http-server 基于nodejs的http服务器

http-server所用场景:作为前端的同学来说,想要运行一段代码,但又没有必要使用tomcat或是Apache http server,这个时候,一个简单的轻量的http-server就能搞定。当前端开发完成后,需要我们打包部署,此时一般就会生成一个dist文件夹,里面存放的是一些静态文件,当我们在编辑器里直接运行这些静态文件时,很可能会出现“because its MIME type ('t...

2018-04-08 14:09:52 6569

原创 cookie跨域问题

最近使用angular做项目,后端走cookie session认证机制,登陆接口服务端有set-cookie,后台也做了跨域处理 ,但是发起请求时浏览器请求里没有携带cookie。一直以为是angular机制引起的,然而跟angular没有关系。跨域请求由于安全性机制,默认是不携带cookie。解决方法:前后端配合,均需要修改。后端:app.all('*', function (req, res...

2018-04-03 11:09:42 1237

原创 angularjs中使用ng-repeat的注意点

1、ng-repeat的数据不能出现重复项问题通常情况下,ng-repeat的数据是不可以重复的,否则就会报错。原因是angular需要一个唯一值可以与生成的dom绑定,以便追踪.解决方案:div ng-repeat="(key,value) in datas track by key">div>2、ng-repeat的性能问题AngularJs 的 ng-repeat 让我们非

2018-01-16 11:10:30 4515

转载 JavaScript 内存泄漏教程

一、什么是内存泄漏?程序的运行需要内存。只要程序提出要求,操作系统或者运行时(runtime)就必须供给内存。对于持续运行的服务进程(daemon),必须及时释放不再用到的内存。否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。不再用到的内存,没有及时释放,就叫做内存泄漏(memory leak)。有些语言(比如 C 语言)必须手动释放内存,程序员负责内存管理。char * buffer;

2018-01-15 10:43:31 255

原创 随机生成一个长度为n的数组

1、随机生成长度为n,且值在[min-max]范围内function generateRandomArr(n, min, max) { var arr = []; for (var i = 0; i < n; i++) { var random = Math.floor(Math.random() * (max - min + 1) + min); a

2018-01-11 14:44:03 14044 3

原创 快速排序之优化

快速排序的时间复杂度:最优的情况:O(nlogn)–在每次数组一分为二时均平均分配 最差的情况:O(n²)–在数组完全有序的情况下/超大量重复数组时快速排序的基本算法/*返回P值,使得arr[l...p-1]arr[p]*/function __partition(arr, l, r) { var v = arr[l]; /*arr[l+1...j]v*/

2018-01-10 20:48:48 329

转载 算法时间复杂度介绍

算法效率时间复杂度:评估执行程序所需的时间。可以估算出程序对处理器的使用程度。空间复杂度:评估执行程序所需的存储空间。可以估算出程序对计算机内存的使用程度。 设计算法时,一般是要先考虑系统环境,然后权衡时间复杂度和空间复杂度,选取一个平衡点。不过,时间复杂度要比空间复杂度更容易产生问题,因此算法研究的主要也是时间复杂度,不特别说明的情况下,复杂度就是指时间复杂度。时间复杂度时间频度 一个

2018-01-07 21:29:09 812 2

原创 form表单提交之Enter提交

通常情况下,我们在页面上操作输入框的时候,像搜索框,登录的时候,我们一般输入完成后喜欢直接enter去获取结果,然而尴尬的是当我们在注册的时候,则不喜欢每填完一个内容就enter提交了。其实根据业务的不同需要,需要我们去判断,在这之前需要我们去了解一下浏览器的一些默认行为,以下是总结的经验,亲测,可用。如果表单里只有一个type=”text”的input,不管按钮是什么type(或有无提交按钮),

2017-07-26 19:17:54 4314 1

原创 form表单校验插件(含详细注解)

说到表单校验,第一个想起来的肯定是jquery的validate.js,该插件的确是很强大,用在项目中也很健壮,但是为什么我选择重新自己封装一个插件呢?为什么要自己封装表单验证插件:1、因为项目中用到的是sea.ja,需要对插件进行封装,而楼主不知如何封装validate.js,和其连带的其他插件; 2、因为项目中不是所有的校验都是通过插件校验的,也要自己手动校验一部分,表单提交时不

2017-07-12 10:33:15 5422

原创 dtree常见用法与变形

dTree是个很方便在页面生成树的 js 控件,使用简单。如果你已经大致了解了dtree的使用方法,相信你很容易在页面上显示一颗树来。但是不同的项目需求,造成菜单树的各种变化,因此在介绍dTree的同时,本文着重讲述如何改造dTree,以达到为不同项目所用的目的。dtree使用方式: ①引入dtree.js : dtree功能脚本 ②引入 dtree.css : 样式文件 ③引入 img文件

2017-03-07 18:47:44 1323

原创 简单的上下视差滚动

前言: 项目中让实现一个简单的上下视差滚动,就是当页面滑动到某一固定位置时,让上下两页面出现叠加效果,恢复时,展开恢复。功能技术实现方式: 元素定位,鼠标事件思路1:一开始想着设置滚动条监听事件,当到固定位置时下方元素设置relative属性(这样可保证不改变其原有样式而且可以实现元素位置的调整),于是就诞生出一下代码:<!DOCTYPE html><html> <head>

2017-03-06 18:44:48 1654

原创 gulp遇到的"坑"

在初次使用gulp时,可是遇到了几个让人头痛的”坑”,直观的以为gulp就是一个通道,把数据从一头传到了另一头,当然,管道的两头一边是我们开发使用的代码,一边是我们上线使用的代码。于是就开始了gulp的相爱相杀.问题1:精灵图定位不准 还原事故:当时引用的是gulp-css-spriter插件,定义任务时,就是正常的定义一个task,然后引用相应的插件的方法。在写less时,并没有特意指定那个元

2016-12-15 18:38:09 1104

转载 JavaScript ES6 核心功能一览

JavaScript ES6 核心功能一览(ES6 亦作 ECMAScript 6 或 ES2015+)JavaScript 在过去几年里发生了很大的变化。这里介绍 12 个你马上就能用的新功能。JavaScript 历史新的语言规范被称作 ECMAScript 6。也称为 ES6 或 ES2015+ 。自从 1995 年 JavaScript 诞生以来,它一直在缓慢地发展。每隔几年就会增加一些新内

2016-12-14 11:17:19 858

原创 无法设置未定义或 null 引用的属性"innerText"

今天在测试的过程中,ie环境下一直在报“无法设置未定义或 null 引用的属性”value””,在网上也搜了很多结果,有的说是引用的jquery版本太高导致的,有的方法是加.get(0),但是这些方式我已经统统试过,至少在我的项目中没有起到任何作用。下面我将通过代码为大家进行讲解。代码如下:<%@ page language="java" contentType="text/html; chars

2016-11-14 19:20:31 13370

原创 解决在IE下“JSON”未定义的问题

ie这个熊孩子又出来惹事情了!!今天测试时发现JSON.stringify()/JSON.parse()在 IE6、7、8下会有兼容问题.起因:JSON是包含在JScript 5.8中,而为了向下兼容ie8只有在文档模式是”Internet Explorer 8 Standards”的时候才使用JScripte 5.8,其他时候使用JScripte 5.7特性。因此如果文档模式没有声明为”Inter

2016-11-14 18:52:34 26425

原创 IE和DOM事件流的区别

标准:obj.addEventListener(事件名称,事件函数,是否捕获) 1.有捕获,true为在捕获阶段处理,false为在冒泡阶段处理 2.事件名称没有on 3.this触发该事件的对象 IE(低版本9以下):obj.attachEvent(事件名称,事件函数); 1.没有捕获 2.事件名称有on

2016-11-14 14:53:10 988

原创 IE6的双边距-元素浮动display值为blcok

IE/6出现双边框的原因出现双边距的条件是当浮动元素的浮动方向和margin的方向一致时才会出现。也就是说,并不是只有块状元素左浮动,且具有左外边距时才有这个BUG,当一个盒子右浮动的同时有一个向右的margin-right的时候,IE6也会把margin-right解析为原来的2倍。当有多个同行元素都浮动了,而且都有同方向的margin,则只有最靠近浮动方向的元素有双边距bug。(如果都是一个方

2016-11-14 14:14:16 428

空空如也

空空如也

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

TA关注的人

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