- 博客(74)
- 收藏
- 关注
原创 阿里云OSS图片上传
因为项目最近想把七牛的图片转换到阿里OSS,所以就研究了一下, 整理了一下,做了个小demo其中最主要的一步是获取accessKeyId ,accessKeySecret ,securityToken 这几个key,然后通过这几个KEY生产一个OSS对象,OSS对象中有一些属性官网可能没有详细的介绍,需要自己去探究,比如secure:true表示为http还是https。client = new OSS({ // yourRegion填写Bucket所在地域。以华东1(杭州)为例,yourRe
2022-03-30 15:14:53
1628
原创 vue项目background-image引入背景图报错
之前写好的代码明明运行很正常,今天早上突然在预发环境挂掉了[31mERROR in ./node_modules/extract-text-webpack-plugin/dist/loader.js?{"omit":1,"remove":true}!./node_modules/vue-style-loader!./node_modules/css-loader?{"sourceMap":false,"root":"C://Program Files (x86)//Jenkins//workspace//
2021-12-29 09:26:16
2915
原创 PLSQL注册码
进入帮助 -> 注册,输入:产品编号:kfsvzt6zh2exaxzxgjk44rv5kp2yp68vgk序列号:186220口令:xs374ca直接获得9999-12-31,美滋滋
2021-01-18 11:14:24
11780
46
原创 详解debounce防抖和throttle节流
首先我们先来看看如果一个事件持续频繁触发:<style> #itemBox{ background-color: lightgrey;width: 500px;height:300px; font-size:30px;text-align:center;line-height:300px; }</style><body> <div id="itemBox"></div></body><script>
2020-12-22 17:55:46
1767
原创 详解bind函数
之前将call和apply的具体实现模拟写了一遍,今天就将bind函数的具体实现来写一遍看看bind:一句话描述:将创建一个新函数,当这个函数被调用时,传入的第一个参数作为新的this对象,后续的参数作为绑定函数的参数与call和apply相同点:都可以传递参数不同点:apply和call是会具体执行该回调函数,而bind是返回一个函数首先,我们实现一个简单的bind绑定function bindFoo(){ console.log('My name is ' + this.name);}v
2020-12-14 20:16:25
6499
原创 详解JS中call和apply的实现
JS中call和apply的实现改变this指向都是通过call和apply的方式,这段时间也对这两个进行了详细的梳理1.call一句话解释:call()方法就是通过指定一个this对象和一些指定的参数来调用某个函数或者方法一个简单的例子:var child = { name : 'gui'}function func(){ console.log(this.name);}func.call(child); //gui其实本质上就是:函数Parent在执行的时候this执行被指定
2020-12-04 16:44:29
4574
1
原创 详解JS继承
一:原型链继承原型链继承:function Father(){ this.showArr = [1,2,3]; this.showName = 'Father';}function Mother(){ this.showArr = [4,5,6]; this.showName = 'Mother';}function Child(){ this.age = 18;}var Father = new Father();Child.prototype = Father;var So
2020-12-01 20:21:27
4128
2
原创 前端经典布局——左中右三栏
1.flex弹性盒子header和footer设置样式,横向撑满。container中的left、center、right依次排布即可给container设置弹性布局 display: flex;left和right区域定宽,center设置 flex: 1; 即可<!DOCTYPE html><html> <head> <meta charset="utf-8"> <script src="http://lib.sinaapp.
2020-10-27 17:52:19
3519
原创 关于选择器的问题
选择器一般都有两种办法,一种普通的顺序查找方法,比如:<div style="width:500px;"> <ul> <span>span (子节点)</span> <li>li (子节点) <span>span (孙节点)</span> </li> </ul> </div>$(document).ready(function(){ $("ul").fi
2020-05-29 19:16:34
558
原创 flex布局中width和flex-basis区别
flex-basis只要flex布局中才会产生作用,但是with不是,如果两者共用会有怎么样的变化,我拿了56版本的firfox,IE11,以及68版本的chrome进行了实验:68版本的chrome:1.当不设置width和flex-basis时,宽度默认为内容自身的宽度2.设置width,不设置flex-basis,宽度正常随着width走,但是当width小于0时,则宽度恢复为自身内容宽度,这个就不放图了3.不设置width,设置flex-basis,当flex-basis设置值小于自身内容宽
2020-05-22 11:17:23
6736
2
原创 jsPDF和html2canvas兼容IE11
之前写了利用jsPDF和html2canvas做多页PDF导出,但是发现在IE下面不行,存在BUG,也就是Promise未定义的问题,于是也一起处理了一下。期限我想打算用bluebird.js,但是发现与现有项目代码存在冲突,所以先放弃了,然后采用了第二种方式通过引用polyfill.js可以解决这个问题:bluebird.js:...
2020-04-09 09:55:58
4747
4
原创 利用jsPDF和html2canvas前端实现页面PDF多页导出
这两天说要做一个流程表单的导出功能,所以就想到这个,直接导出为PDF形式:其本质主要是利用页面偏移量position,canvas的待导出的整体高度leftHeight和通过一页pdf显示html页面生成的canvas高度pageHeight。首先因为我们导出采用的是a4纸的形式,尺寸为595.28 * 841.89。我们可以相应计算出宽高比例,然后根据canvas的宽度,得到等比缩放后的高度...
2020-03-30 09:41:26
7334
1
原创 Angular性能优化
优化Angular应用的性能MVVM框架的性能,其实就取决于几个因素:监控的个数数据变更检测与绑定的方式索引的性能数据的大小数据的结构我们要优化Angular项目的性能,也需要从这几个方面入手。减少监控值的个数监控值的个数怎么减少呢?考虑极端情况,在不引入Angular的时候,监控的个数是为0的,每当我们有需要绑定的数据项,就产生了监控值。我们注意到,Angular里面使...
2020-02-28 15:21:16
4776
2
原创 angular ng-repeat重复数据遍历的报错
<div ng-repeat="value in [name, name,name,name] "></div>今天在用angular指令遍历一个javascript数组,当数组中有重复元素的时候,angular会报错,这是因为ng-repeat不允许collection(收集)中存在两个相同Id的对象。查了一些资料,原来对于数字或者字符串等基本数据类型来说,每个元素...
2020-01-15 17:00:33
6984
原创 本地利用FileReader打开文件
第一步,在html上加一个按钮,用来打开文件<input type="file" id="loadFile" />第二步,通过事件监听,用来执行相应的打开文件方法function readSingleFile(e) { var file = e.target.files[0]; //如果文件不存在,就直接返回 if (!file) { return; }...
2020-01-14 20:52:34
4819
原创 CSS中的visibility
CSS里的visibility属性,大多时候把值设置成visible,或者是hidden。其中hidden类似于display: none,但是hidden仍然会暂据元素空间。visibility还有一种值就是collapse。当一个元素的visibility属性被设置成collapse值后,对于一般的元素,它的表现跟hidden是一样的。但例外的是,如果这个元素是table相关的元素,例如t...
2019-12-26 16:24:45
8786
原创 浏览器内多个标签页之间的通信
一 使用localstorgelocalstorge在一个标签页里被添加、修改或删除时,都会触发一个storage事件,通过在另一个标签页里监听storage事件,即可得到localstorge存储的值,实现不同标签页之间的通信//写入<input id="XXX"><input type="button" id="submitBtn" value="提交">&l...
2019-12-17 15:15:06
5137
原创 Object.keys()是按什么顺序执行
今天在用angualr写一些模块的时候,当我JS给select数据赋予初始值时,数据双向绑定并没有将初始值赋予select框中,最后找啊找,试啊试,终于找到了一种方法:利用ng-selected 指令:...
2019-10-31 18:22:07
9067
原创 angularjs 动态监控数据
第一种比较简单,利用的就是其自带的$watch方法监听<div ng-controller="myCtrl"> <input type="text" ng-model="formModel.controller_name"/></div><script> var app = angular.module('myCtrl', ['ng']...
2019-09-16 11:08:23
9066
原创 今日头条基础算法题
面试题汇总:今日头条:已知如下类Animal,要求设计一个Cat类继承自Animal,并实现如下功能:Animal:function Animal(){ this.name = "Animal"; this.showName = function(){ console.log(this.name); }} Cat:function Cat(){...
2019-08-30 18:48:31
2455
原创 前端br换行符被转为String,无法实现换行解决
今天在页面渲染的时候,后台给了我一些特殊字符作为换行标志“%%”,我拿到后想用replace,但是感觉不太友好,所以自己写了个formate,开始的时候,我将“%%”转化为<br/>,但是无法实现,页面自动解析为了string解决办法1.将 替换为 \n2.并在前端添加样式style="white-space:pre-line;这样就可以实现了...
2019-08-07 16:55:27
10746
原创 输入类型匹配下拉框
前两月一直在忙着写投稿论文,很开心终于被接受了,可以等待发表大期刊上,也就意味着硕士生涯不会因为论文而被延期毕业了,哈哈哈。言归正传,前几天产品要做一个输入框,能自动匹配出数据提供选择,所以就研究了一下。...
2019-07-31 17:08:00
434
原创 angular JS修改操作select无法绑定回显
今天在用angualr写select的时候,当我JS给select数据赋予初始值时,数据双向绑定并没有将初始值赋予select框中,最后找啊找,试啊试,终于找到了一种方法:利用ng-selected 指令:我写的是双层循环,在第二层循环的时候,allDataList 中每个对象的id都是有值的,当回显的时候一直失败,也找不到原因,最后利用了ng-selected="project.id == ...
2019-05-21 17:50:59
10400
原创 在angular把DOM加载完成后再调用指定函数
今天在用echarts构图的时候,报了echarts.init is not a function的问题,但是我明明已经引用了echarts,但是还是会报这个错误解决:var echarts = require(‘echarts’);require(‘echarts-gl’);const KnowledgeOPs = echarts.init(document.getElementById...
2019-05-20 15:59:03
4456
原创 Vue组件传值 之 $attrs 和 $listeners
首先,我们先来看一下官方对$attrs 和 $listeners的解释:$attrs:包含了父作用域中不作为 prop 被识别 (且获取) 的特性绑定 (class 和 style 除外)。当一个组件没有声明任何 prop 时,这里会包含所有父作用域的绑定 (class和 style 除外),并且可以通过 v-bind="$attrs" 传入内部组件——在创建高级别的组件时非常有用。$list...
2019-04-26 20:16:15
947
1
原创 VUE中.sync 修饰符
vue 1.x 的时候曾作为双向绑定功能存在,即子组件可以修改父组件中的值。vue2.0时因为它违反了单向数据流的设计理念,单向数据流指的是使用一个上传数据流和一个下传数据流进行双向数据通信,两个数据流之间相互独立,所以在 vue2.0 的时候被干掉了。在 vue2.3.0+ 以上版本又重新引入了这个 .sync 修饰符。但是这次它只是作为一个编译时的语法糖存在。它会被扩展为一个自动更新父组件...
2019-04-19 21:34:48
5177
原创 vue组件之$emit
$emit 实现并不是父组件向子组件发送消息来进行通信,而是通过子组件向父组件发送消息来进行通信的,这个上和其他的稍微有点不同。对于$emit,我先是看了下官网的介绍说明有些看不懂,后来自己差了些资料:其实也就是:vm.$emit( event, arg )$emit 绑定一个自定义事件event,当这个这个语句被执行到的时候,就会将参数arg传递给父组件,父组件通过@event监听并接...
2019-03-31 23:59:23
978
原创 vue组件之Prop
之前说要学习一下VUE的组件通讯机制,但是因为公司的任务比较多且急,连续两个大的项目模块,合规的和反洗钱真的自己全身心的投入到其中了,连续加了几周的班,今天休息了一下,刚好把vue部分父子组件的通讯方式梳理了一下,就写点总结吧。基本用法Prop的基本用法很简单,只需要在子组件的Vue实例中定义该属性并把值设为目标属性的数组即可。Vue.component('child', { ... /...
2019-03-31 23:43:19
1766
原创 angular的事件
这张图中有两个视图块A和B,它们分别又有两个子视图。这时候,如果子视图A1想要发出一个业务事件,使得B1和B2能够得到通知,过程就会是:沿着父作用域一路往上到达双方共同的祖先作用域从祖先作用域一级一级往下进行广播,直到到达需要的地方简化一下:对于这种事件的传播方式,举个例子,1班班长想要给2班班长发个通知,他的通知方向是一级一级向上汇报,直到双方共同的老师,然后再沿着路线向下去通知。...
2019-03-14 20:32:21
3471
原创 angular的作用域
前端时间因为有比较重要的事情,所以一直没有静下心来写点东西,今天结束之后也了解到了自己很多的不足,接下来继续努力吧。今天遇到了点MVC和MVVM之前的关系,其实之前也写过总结,但是也忘了,以前的东西还是要经常去回顾一下,晚上遇到angular的问题,所以总结一点。Angular应用是分层的,主要有三个层面:视图,模型,视图模型。其中,视图很好理解,就是直接可见的界面,模型就是数据,视图模型是一...
2019-02-25 21:42:33
4426
原创 浅析Vue的组件注册
因为之前看了的VUE组件的几种通信方式,但是对其中一些概念理解并不是非常的清晰,所以打算把Vue的组件注册来重新梳理一下,梳理之后再回去看通信方式,应该会有更好的理解。Vue的组件注册其实有以下几种:1.全局注册2.局部注册3.模块系统中:在模块系统中局部注册,基础组件的自动化全局注册。Vue.component(组件),组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件...
2019-01-30 20:07:38
413
原创 SQL的distinct去重与group by的联系
今天要写一个下拉框的使用想采用SQL的distinct方法去过滤重复的数据,查询两列数据的时候,发现当一列数据重复,另一列数据不重复时,并不会舍弃,于是采用group by的方式。1,起初数据量为82条2.当单独使用distinct之后,其实数据只有73条,那就是name列有不重复的数据,但是id是一样的3.所以采用group by的方式:利用id分组,然后取name的最大值,去除重复数据...
2019-01-23 21:19:42
7857
1
原创 Vue.js 父子组件之间通信的十种方式
其实VUE的几种通信方式无外乎以下几种:1.Prop(常用)2.$emit (组件封装用的较多)3.sync语法糖 (较少)4.$attrs 和 $listeners (组件封装用的较多)5.provide 和 inject (高阶组件/组件库用的较多)6.其他方式通信第一种: Prop:这个在我们日常开发当中用到的非常多。简单来说,我们可以通过 Prop 向子组件传递数据。用一个...
2019-01-22 19:59:26
374
原创 SQL中 # 与 $ 的不同
区别:(1)#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如: #{id},如果传入的值是id,则解析成的sql为&amp;amp;amp;amp;amp;quot;id&amp;amp;amp;amp;amp;quot;。(2)将传入的数据直接显示生成在sql中。如:将传入的数据直接显示生成在sql中。如:将传入的数据直接显示生成在sql中。如:{id},如果传入的值是id,则解析成的sql为id。(3)#方式在很大程度上能够防止sql注入。
2019-01-14 20:07:52
1419
原创 VUE学习之v-show和v-if与angular的ng-show和ng-if
今天接到通知,公司项目从angular改为使用vue ,两个框架其实各有千秋吧,Angular相对来说体积大一些,是vue的好几倍,之前我也写过angular和vue的数据双向绑定的区别,一个是脏数据检查机制,一个是数据劫持,采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应...
2019-01-07 19:53:14
2247
原创 SQL函数模块二
继续学习SQL 拥有很多可用于计数和计算的内建函数:GROUP BY 语句:GROUP BY 语句可结合一些聚合函数来使用SQL GROUP BY :select hsics.abcd.id, aggregate_function(column_name) FROM hsics.abcd1234 where hsics.abcd1234.id operator value GROUP BY ...
2018-12-21 17:38:52
246
原创 SQL函数模块一
学习了SQL的一些基础内容之后,今天开始学习SQL的函数,继续加油SQL 拥有很多可用于计数和计算的内建函数:Aggregate 函数:计算从列中取得的值,返回一个单一的值有用一些 Aggregate 函数:AVG() - 返回平均值COUNT() - 返回行数FIRST() - 返回第一个记录的值LAST() - 返回最后一个记录的值MAX() - 返回最大值MIN() ...
2018-12-14 17:45:47
277
原创 SQL高级模块三
PRIMARY KEY:PRIMARY KEY 约束唯一标识数据库表中的每条记录。主键必须包含唯一的值。主键列不能包含 NULL 值。每个表都应该有一个主键,并且每个表只能有一个主键(所谓的一张表多个主键,我们称之为联合主键)alter table hsics.abcd add PRIMARY KEY (id)alter table hsics.abcd drop CONSTRAINT id...
2018-12-10 19:14:20
284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人