自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 这次彻彻底底弄清vue的双向绑定和链路追踪

前言:从vue问世到现在,所有的vue开发者应该对vue的底层原理都模模糊糊的有一些了解,Object.defineProperty getter/setter,发布订阅之类的概念都能说出一二来,可问题是大部分的coder就真的只是模模糊糊的了解一二,练习vue两年半,到头来还是只能说出个双向绑定...

2019-09-20 10:11:24 168 0

原创 你不知道的javascript笔记整理+个人理解

1 js作用域:存储和访问变量的规则 2 左查询:编译器寻找出现在等号左侧的变量,目的是对变量进行赋值 3 右查询:所有的非左查询,目的是寻找变量的值 左查询在所有作用域都无法找到该变量的情况下将在非严格模式下声明这个变量,右查询则会报refernceError 4闭包:在函数的词法作用域之外对函...

2019-09-03 09:33:57 72 0

原创 梳理所有前端异步解决方案

众所周知js是单线程,从头跑到尾然后不停的事件循环,但是浏览器是多线程的,所有前端所有的异步可以归纳为,js的事件循环在根据标准不停的前后执行不同异步线程的回调 其实现在js对于异步的所有解决方案不管是async 还是 promise 还是监听什么的归根结底都是回调触发,而我们至今为异步所作的所有...

2019-05-27 19:06:03 59 0

原创 Property or method toJSON is not defined

// var vConsole = new VConsole();

2020-06-03 18:31:16 63 0

原创 vue指令实现上下滚动翻页

效果 使用 直接将这段指令声明代码拷贝到需要使用该功能的vue实例上,当然你也可以全局注册 directives: { bottomScroll: { inserted: function(el, binding) { let [clientHeight,...

2020-06-03 18:24:09 62 0

原创 LeetCode-对称二叉树js解法

方法1 把其中一个子树翻转,然后对比两个子树是否相同 var isSymmetric = function(root) { let invert = function(treeNode){ if(!treeNode)return null let node = treeNode.left...

2020-04-21 16:17:51 58 0

原创 vue树形选择器(树形下拉框)

开局一张图,内容全靠编 基础功能 附加选择项 前言 因为项目需要一个带二层展开的树形选择器,用elment的select和tree组件组合起来虽然可以用但是改样式和添加其他功能太过麻烦,所以就仿照element的select样式自己写了一个类似的组件,其实主要功能很简单,主要是要模拟一些el...

2019-10-23 19:42:51 1021 0

原创 clearTimeout无效

如图所示clearTimeout接受id作为参数,所以检查一下是否传入的不是id 因为默认情况下setTimeout方法是会返回id 但有时候会返回一个setTimeout对象 比如使用vsCode 开发的同学在使用setTimeout时会自动引入timer对象,此时setTimeout就会返...

2019-10-22 15:40:10 470 0

原创 vue带连线的树形组件

前言:这是一个基础版的带连接线的树形展开组件,因为找了下无论是element 还是ant 亦或者是其他的库都没用找到类似的组件所以决定自己写一个,源码没有写注释,有基础的同学差不多就可以一目了然了,看着头疼的同学直接拷进项目用即可,我已经过了挨行解释的年纪了,因为业务只要求三层所以只写死了三层,要...

2019-10-09 11:38:38 1549 6

原创 echarts+vue中国地图,点击进入省级地图

先上效果图 再说思路 第一步: 生成中国地图 第二步: 定义点击事件根据反参生成省级地图所需要的参数 第三步: 将省级地图所需要的参数传入渲染方法重新渲染 最后说步骤 准备 1 npm echarts 2下载各省地图json 传送门 // 引用初始化所需的中国地图 import echar...

2019-07-25 11:44:30 2617 4

原创 webpack将文件打成压缩包

英文好的直接看文档 https://www.npmjs.com/package/filemanager-webpack-plugin 引包 npm install filemanager-webpack-plugin --save-dev 修改配置文件 ./build/webpack.dev.co...

2019-06-19 10:43:07 498 0

原创 快速上手indexedDb进行业务开发

这篇文章不是对indexedDb进行详细介绍,只是我在上手使用中发现完整介绍怎么使用indexedDB的资料实在太少,大部分就是为了混个阅读量简单介绍一下,所以整理一些我在使用过程中的经验方便大家在业务压力下快速上手 传送门: https://developer.mozilla.org/zh-CN...

2019-05-30 14:20:01 157 0

原创 element动态更换主题

未完待续

2019-04-09 11:36:30 1177 0

原创 axios使用protobuf进行通讯

https://github.com/protocolbuffers/protobuf https://github.com/dcodeIO/protobuf.js#pbts-for-typescript Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行...

2019-04-04 19:39:17 1045 1

原创 vue element table 表格列进行再排序

示例 展示 http://www.oujin.fun/webPage/dragTable/index.html#/ 用法 https://github.com/oujin-nb/column_element_dragtable 源码 <template> &...

2019-02-27 14:08:23 2609 0

原创 浏览器内核(webkit)学习笔记

浏览器缓存策略 当一个资源被加载后,会被放在资源池中,当页面被再次加载时,浏览器会首先判断该资源是否在资源池中,如果存在则发送一个http请求说明该资源在本地的一切信息,如果该资源没有更新则服务器返回一个304,浏览器则对本地资源池的数据进行就地复用 未完待续… ...

2019-02-21 20:26:16 253 0

原创 h5移动端页面适配填坑(持续更新中)

一.安卓键盘弹起挤压ui 1,在页面加载时即计算出页面的高度并保存 this.viewHeight = document.body.clientHeight; 2,在input框获取到焦点时将该值赋给最外层div即可 document.getElementById("main_b...

2018-12-27 09:08:29 166 0

原创 vue eventBus实现原理,你没看懂算我输

刚开始拿到eventBus的时候很幼稚的想,用一个全局vue对象充当数据容器,那为什么不用一个全局的map就可以 window.busMap = {} 组件a pd: window.busMap.a, <template> &...

2018-12-13 21:14:17 4863 2

原创 JS 银行卡格式输入框

JS 银行卡格式输入框 效果 http://www.oujin.fun/webPage/inputTest/index.html#/ 代码 <template> <div class="content row-center"&g...

2018-12-05 16:09:25 218 0

原创 canvas文本绘制自适应以及自动换两行

自适应 1算出文本宽度,后面的文本位置加上前面的宽度 // 获取字符串长度 getStrWidth(ctx, str) { var lineWidth = 0 for (let code of str) { lineWidth +...

2018-11-27 19:18:32 1060 0

原创 mpvue解决同一页面组件反复进入数据被覆盖的问题

问题当同一个页面组件被反复进入时由于在mpvue中他们用的是一套vm,所以后面渲染的数据就会将前面页面的数据覆盖,这样在我们回退时就不会有以前页面的记录,一直会是最后一张页面的记录 思路每次当我们对同一页面组件进行跳转的时候将该页面的数据this.$data push进数据栈中,当在该页面组件执行...

2018-11-23 14:46:13 3835 0

原创 微信小程序局部刷新触发整页刷新效果

效果图 如上图所示,头部的选项栏时固定的(fixed),下部的信息栏是滚动的, 由于头部是fixed所以无法实现下拉刷新的效果,如果去掉fixed当我们上拉的时候,选项栏又无法固定,所以我们需要监听页面下拉的状态随时改变选项栏的状态 1获取滚动状态 onPageScroll(e) { ...

2018-11-21 14:47:50 1525 0

原创 webpck -webkit-box-orient: vertical

/*! autoprefixer: off */ -webkit-box-orient: vertical; /* autoprefixer: on */ 信大哥的,没错

2018-11-21 14:30:55 150 0

原创 mpvue上拉刷新,下拉加载

第一种 重点:不要用scroll-view 效果 main.json { "navigationBarTitleText": "", "enablePullDownRefresh": true,//开启下拉刷新 "...

2018-11-20 15:27:43 3144 4

原创 canvas绘制多张网络图片

为了解决多重回调,所以采用promise 第一步 新建一个方法接受网络图片url返回一个promise对象 // 新建promise对象 downfile(url) { return new Promise(function (resolve, reject...

2018-11-19 10:16:04 422 0

原创 js-xlxs导出excel

s2ab(s) { if(typeof ArrayBuffer !== 'undefined') { var buf = new ArrayBuffer(s.length); var view = new Ui...

2018-10-30 18:07:50 85 0

原创 input框图片预览

input框图片预览 效果 <!DOCTYPE html> <html lang="en"> <head> ...

2018-10-30 11:30:00 489 0

原创 前端axios下载excel文件(二进制)的处理方法

示例 downExcel(){ var d=new Date() this.$http({ url: "", method: 'get', ...

2018-10-18 17:18:14 833 2

原创 vue双向绑定原理解析实现

前提: 因为大量使用vue,趁项目比较闲的时候整理一下vue最核心的双向绑定的原理 vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的 首先需要明白 Object.defineProperty() :对js中的对象进行属性添加和属性修改 例 // 定义一个对象 ...

2018-10-13 15:37:57 81 0

原创 navicat for mysql只导出数据表结构

navicat for mysql只导出数据表结构 即选中数据库–》右键—》数据传输—》高级—》取消勾选记录选项

2018-10-08 10:35:20 6938 0

原创 vue随滚动条滚动而改变属性

vue随滚动条滚动而改变属性 scrollTop: 滚动条卷起的高度 clientHeight: 滚动条可视高度 scrollHeight: 滚动条总高度

2018-09-19 21:03:59 849 0

原创 Eclipse使用EclEmma插件生成junit覆盖率测试报告

Eclipse安装EclEmma插件 1 下载EclEmma插件 2 解压到本地文件夹 重点内容 3打开Eclipse,按如下流程操作:Help -> intsall New Software -> Add -> Local -&...

2018-09-04 11:27:45 3558 0

原创 springboot@Validated非空check

参考 https://blog.csdn.net/Mynewclass/article/details/79086372

2018-09-04 10:08:17 1040 0

原创 RSA非对称加密应用于前台js加密后台java解密

首先我们加密的时候都是使用对称加密,就是加密解密都是使用一套秘钥 非对称加密是指加密解密使用不同的秘钥 说明:本次记录的加密思路是后台java生成1 加密模块 2 加密公钥 3 加密秘钥其中公钥用于对字符串进行加密,秘钥用于对字符串进行解密,每次http请求后台将新生产的加密模块和加密公钥传送...

2018-08-30 17:47:29 5366 0

原创 springBoot使用junit mock单元测试

单元测试: 单元测试的思路就是我们想在不涉及依赖关系的情况下测试代码。这种测试可以让你无视代码的依赖关系去测试代码的有效性 ReflectionTestUtils.setField(roomService, "mysqlDAO", mysqlDAO); 由于Sprin...

2018-08-30 16:45:33 794 0

原创 使用 RestTemplate 报java.lang.IllegalStateException:No instances available for localhost

不能直接访问地址,需要把地址改成你所调用的ur在eureka上注册的application.name

2018-08-28 14:10:17 3724 0

原创 springboot使用注解做接口非空判断

1定义一个在方法上作用的注解 @Retention(RetentionPolicy.RUNTIME) // 表示注解在运行时依然存在 @Target(ElementType.METHOD) @Documented public @interface noNull { public...

2018-08-24 09:26:29 6281 0

原创 MyBatisGenerator With Maven自动生成增删改查sql文

1配置maven pom文件 <build> <plugins> <plugin> <groupId>...

2018-08-17 14:14:30 901 0

原创 vue监听左右滑动事件

引入 vue-touch **1**npm insall vue-touch@next 2在main.js中将vue-touch注入到vue import VueTouch from 'vue-touch' Vue.use(VueTouch, {name: 'v...

2018-08-16 19:14:38 5311 0

原创 vue打包后静态文件找不到

打开config/index.js,将其中的assetsPublicPath值改为’./’ css中引用的图片资源找不到 方法:找到 build/utils.js publicPath:"../../"

2018-08-16 19:09:55 2425 0

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