- 博客(20)
- 收藏
- 关注
原创 跨域和解决方案
跨域:什么是跨域:当一个请求url的协议、域名(包括子域)、端口三者之间任意一个与当前页面url不同即为跨域。注:域名和域名对应的ip之间也属于跨域什么是同源策略SOP(same origin policy)是一种约定,是浏览器最核心也最基本的安全功能,否则浏览器容易受到XSS\CSFR等攻击。所谓同源就是指协议+域名+端口三者相同,即使是两个不同的域名只想同一个ip地址也非同源。HTML中的特殊标签<link>, <script>, <img&
2021-03-21 16:38:38 582 1
原创 Spring Data JPA学习笔记
最近看了这个教程学习SpringData技术。老师开头演示了传统的JDBC使用方法,非常的繁琐,需要在逻辑代码中进行配置。每一次操作数据库都要通过建立连接、执行查询、释放资源三部重复的代码,还要写一个JDBCUtil工具类来整合数据库连接和关闭的逻辑:/** * JDBC工具类: * 1) 获取Connection * 2) 释放资源 */public class JDBCUtil { /** * 获取Connection * @return 所获得到的JDBC的Co
2021-02-09 11:17:24 242
原创 算法学习——动态规划入门
很久没有接触动态规划了,通过b站正月点灯笼的视频重新学习了一遍:学习视频地址。总结了一下文字版方便复习:Fibonacci Sequence斐波那契数列用斐波那契数列理解动态规划问题:我们知道斐波那契数列有个递归公式fib(n) = fib(n-1) + fib(n-2)。所以通过递归我们可以轻松的实现求fib(n)JavaScript实现:function fib(n) { if (n == 1 || n == 2) return 1; return fib(n-1) + fib(n-2);
2021-02-03 10:23:29 277
原创 KMP算法理解与Java实现
参考字符串匹配的KMP算法 — 阮一峰明白KMP算法的原理后我们思考如何求出给定字符串的部分匹配值数组next,我们当然不可能每次都把所有前后缀写出来,那么我们要思考的就是如果我知道next[0]~next[i-1]的值,能不能求出next[i]? 答案是肯定的。我们以字符串ACCCBAAACCCBAAC为例,依次求出next[i]的值:Java代码实现:public static int[] getNext(String s) { int len = s.length();
2021-02-02 17:51:27 209 2
原创 算法学习—回溯算法—以Leetcode22括号生成问题&&n皇后问题为例
开始想着写个全排列然后逐个判断是否是有效的括号组合。结果不行。1<=n<=8全排列的话,n=5的时候就要有2^5=32次判断n=8就有几百次判断。跑了一下确实不行。然后就看答案了。/** * @param {number} n * @return {string[]} */var generateParenthesis = function (n) { let res = []; // cur :当前字符 left:当前字符左括号 right:当前字符右括号 cons.
2021-02-02 10:46:01 166 1
原创 2分钟了解JavaScript Event Loop
讲的太好了,朋友们快冲好吗!https://www.bilibili.com/video/BV1kf4y1U7Ln
2021-01-26 15:57:04 116
原创 Vue2.x 中使用vue-awesome-swiper实现自定义轮播图效果(+vue-property-decorator+typescript)
官方资源:swiper:开源免费强大的滑动触摸插件在Vue中使用swiper: 只适用于Vue3.xvue-awesome-swiper :为vue服务的swiper组件项目vue版本:^2.6.11目标效果效果参考网址:https://www.zyfra.com/1.安装依赖注意这里是同时安装了swiper和veu-awesome-swiper的最新版本:npm install swiper vue-awesome-swiper --save如果你需要安装指定版本的需要加上你
2020-12-28 18:27:14 1720
原创 vxe-table/vxe-grid组件分页pager模块显示{0}的问题
问题描述:如下图,使用vxe-table组件时候出现如下显示问题:问题分析:首先,项目不是我搭建的,对vxe-table组件的认识我只停留在使用阶段,为了解决这个问题,不得不翻阅了这个组件的源码,获益良多。版本:^3.0.18(npm 如何查看一个包的版本信息?)要解决这个问题你肯定得知道,这个分页的部分是怎么显示出来的,我们在官方文档可以看到,源码中有一个pager组件来实现分页:我们项目中使用的是vxe-grid高级表格,也就是可以通过pager-config属性来设置分页的相关内容。
2020-12-23 17:11:23 3365 6
原创 JeecgBoot中的JEditableTable组件复杂自定义功能:修改其中一个字段时其他字段也同时做相应改变,级联选择器的使用
参考官方技术文档:http://jeecg-boot.mydoc.io/?t=345687初始需求:如下图,当我修改产品名称的选项时,产品编码和产品规格的字段会根据我给出的数组自动改变。1.首先我们需要将column类型改为slot才能自定义产品名称的可选列表以及添加同时修改功能。需要注意的是在技术文档中我们可以看到,当 type=slot时所需的参数:参数类型必填说明slotNamestring✔️slot的名称所以最终代码如下:columns: [
2020-12-02 16:02:22 10258 19
原创 前端PUT请求后台接收的参数不完整
昨天改一个bug,大致问题是前端发起的PUT请求,参数为ID、pageNo、pageSize(字面意思),然后返回数据总是pageNo=1,pageSize=10条件下的数据,无论我怎么改变传参值,返回数据都是一样。首先纯后台测试没有问题,接口无误。后台(JAVA)接收参数的方法如下,对pageNo、pageSize连个参数没有进行额外的赋值:/** * 订单详情 * 接单明细页面 * @param itemReq * @return */ @AutoLog(val
2020-11-27 10:00:35 3154
原创 数组扁平化的四种方法
var arr = [[1, 3, 2, 1],[5, 3, 4, 8, 5, 6, 5],[6, 2, 8, 9, [4, 11, 15, 8, 9, 12, [12, 13, [10], 14]]], 16]//1. 利用toString(): 这种方法无法正确处理空数组,且返回的数组中数字是字符串形式function flatten1(arr) { return arr.toString().split(',')}//2. 利用Array.prototype.reduce()累加器
2020-11-25 15:34:10 197
原创 现代 JavaScript 教程——ECMAscript基础知识
JavaScript基础知识现代模式,“use strict”begin from ES5, 为了标识ES5的新特性变量我们可以使用 var、let 或 const 声明变量来存储数据。let — 现代的变量声明方式。var — 老旧的变量声明方式。一般情况下,我们不会再使用它。const — 类似于 let,但是变量的值无法被修改。用 const 声明的对象的值 能 被修改。数据类型JavaScript 中有八种基本的数据类型(译注:前七种为基本数据类型,也称为原始类型,而 obj
2020-11-24 17:56:27 691
原创 vue阻止事件冒泡(其他UI框架例如ant-design下的解决方案)
vue中阻止事件冒泡通常只需要在click点击事件加上.stop就可以,像下面这样:<a @click.stop="handleEdit(row)">编辑</a>这是因为:.stop - 调用 event.stopPropagation()。.prevent - 调用 event.preventDefault()。关于vue中v-on指示符的更多用法我们可以参考官方文档,通过给绑定事件添加修饰符,可以实现例如“只在点击右键时触发”、“只在点击左键时触发”等等需求。但是我
2020-11-19 10:21:23 2676
原创 关于JavaScript中this的疑问
下面这两种情况,普通函数中的this到底指代什么?//1.function xxx() { console.log(this)}xxx() //输出:undefined//2.function aaa() {return this}aaa() //输出:Windows{...}
2020-11-05 11:19:04 121
原创 vue ant-design表格Table中修改表头单元格样式
我没想到我在这个弱智的问题上花费了一两个小时:我希望修改单独某个表头的样式其实很简单,在官网的第一个例子就给出了答案:我们关注第一列的表头单元格样式,然后去看代码,先来看column的写法:这里的slots就是表头单元格对应的插槽,title用于表示对应的插槽。同样的,scopedSlots是对应列表单元格的,customerRender就是我们要对应的插槽。所以我们可以看到,在<template>中:slot="name"是列表单元格模板,slot="customerTitle
2020-10-18 15:35:54 12268
原创 JavaScript闭包——变量作用域、词法环境的理解
前几天面试的时候问到了一个题,没有答上来,面试官和我解释完之后我才想起自己看过相关的文章,完全忘记了c。题目是这样:var value = 1;function f1() { console.log(value)}function f2() { var value = 2; f1(); console.log(value);}f2();输出什么呢?不了解闭包可能会觉得就是2,正确答案是1.核心主要就是js的词法环境是在函数声明的时候就决定的,而不是在调用的时
2020-09-30 16:23:05 197
原创 ant-vue项目报错 原因和解决办法
在使用 <a-form> 组件的时候遇到如下报错:You cannot set a form field before rendering a field associated with the value. You can use getFieldDecorator(id, options) instead v-decorator="[id, options]" to register it before render.我希望表单在打开时就能展示默认数据,表单的每个数据项都用v-deco.
2020-09-11 16:30:07 1787
原创 前端项目安装依赖报错
今天加入了一个新项目 安装依赖的时候总是报错开始用npm install 总是报错code ENOLOCAL、could not install from "xxxx"然后又尝试了一下yarn install,依然报错An unexpected error occurred: "https://raw.githubusercontent.com/.....查询了很多办法未果,同事说换个node版本就可以了,我本来是12.xx后来换成了8.xx就可以了解决办法查询了很多办法未果,同事说换个nod
2020-08-28 16:22:12 1816
原创 vue+typescript+echarts+bmap使用记录
参考:vue+echarts+bmap绘制散点图echartst添加到项目后,我们在node_modules目录下可以看到,echarts已经包含了bmap插件:在需要加入echart地图的组件中引入插件:require("../../../node_modules/echarts/extension/bmap/bmap");单纯的引入bmap,浏览器会报错 BMap is not defined,参考了很多博客,发现需要单独写一个js文件,进行异步操作:export default
2020-08-28 15:07:52 963
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人