自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 redux 的学习记录

这里使用最多的是redux-thunk中间件,它使我们可以给dispatch传入一个异步函数,帮我们执行回调后修改state的内容。Dispatch(分发): 一个函数,用于将 action 发送到 reducer,从而触发状态的变化。Reducer(处理器): 一个纯函数,接收当前状态和一个 action,并返回一个新的状态。在步骤3中的dispatch(action),action可能被多个地方使用,而类型是相同的,只有num不会变。整个应用的状态被保存在单一的 store 中。

2024-03-06 15:45:44 1033 2

原创 对双线性插值的理解

但在换算位置完成时,可能会得到一个浮点数,像素是不可能出现浮点数的,这时候我们会根据计算所得的像素点周围四个真实像素点的值来计算浮点数坐标的像素值。根据目标像素在这四个最近像素中的位置,计算出目标像素与这些像素之间的相对距离,并根据这些距离计算出相应的权重,使用这些权重对四个最近像素的像素值进行加权平均,得出目标像素的值。新图像中(2,3)在原图像中对应的位置就是(2*(3/4),3*(3/4)),也就是(1.5,2.25)。我们可以使用比例的方法来计算新图像上的坐标在原图像中的对应位置。

2023-12-02 15:53:13 1017

原创 记一次element Tree V2的默认展开大量节点功能的优化

我开始直接使用了setCheckedKeys方法,一下子传入了3000个key,界面通常会卡一秒钟。于是我想到了requestAnimationFrame来将操作分片的方法。当展示超大量数据时,我们可以使用elementui 提供的虚拟化树形控件。但是我遇到一个问题,当我想去默认展开大量节点的时候,界面还是会卡死一段时间。的回调中依次将节点做一个勾选(这样可以在渲染间歇中执行我们的js代码,页面不会有明显的卡顿),直到所有的都勾选完成。也就是我可以先将要加在的数据进行分组,然后在。

2023-11-22 15:05:49 847 1

原创 vue-router 实现动态路由和按钮

之前记录过一个动态路由实现过程,但是最近感觉那个还是臃肿,所以做了精简。以下是船新版本。

2023-10-24 15:04:40 387 3

原创 js 事件循环 【eventloop】-同步异步执行顺序

当同步代码执行完毕,主线程空闲下来,回去eventQueue中把正在排队的异步任务 按照顺序取出来执行。

2022-11-27 18:30:41 415

原创 使用geoserver发布超大TIF文件过程记录--FWTools工具切片

由于冤种客户给的tif文件太大了,有11.4G,直接使用geoserver发布图层会发现每次加载的时候,等待时间会特别长,基本没有使用体验。file:是固定的,data/pyamid 是相对于geoserver主目录下/data_dir 文件夹的相对路径。python2和python3中运算符的区别,python2中的/等价于python3的//,在python3中,//表示取整除 - 返回商的整数部分 (向下取整)。所以我选择的是下图中标出的文件。我们要用的工具使用的是python2的写法。

2022-11-22 03:22:28 4091 9

原创 vue框架-权限路由的设置

许多管理平台都会对用户进行权限的管理,最近做了一个根据用户权限显示导航栏的功能。记录一下下0. 准备功能开发的前提是前后端对于每一个页面路由有一个对应的且唯一的key(前端将这个key存在路由对象的meta.index中),前端获取到有权限路由的key之后通过addRoute将这些路由加入路由配置中。1. 路由列表在前端路由配置文件中,先不要将要判断权限的路由加入配置。在这里我们只需要将登录和根的路由加进配置,将需要判断的路由先写在一个候选数组中。// 一开始加入路由配置的路由const rou

2022-05-19 11:07:28 1560

原创 根据叶子节点的属性搜索所有的父节点(js)

const getFaKey = (arr: any[], targetStr: string) => { let finArr: { name: string; fa: string; last?: boolean }[] = []; function renderData (arr: any[], fa = '') { for (let i = 0; i < arr.length; i++) { if (arr[i].childr

2021-05-28 11:10:13 1048

原创 关于JavaScript中原型链的基础梳理

首先我们先知道以下几点:在对象中含有一个__proto__的属性。在函数(也属于对象)中含有__proto__和prototype两个属性。__proto__会指向自己父的prototype属性,而继承的方法也是存在父的此属性中。然后我们以const arr = []为例进行梳理:arr是一个通过new Array()实例化的对象,所以他有一个__proto__属性,指向Array(构造函数)的prototype属性,Array函数的一些原生方法(push,pop,shift...)在pro

2021-04-23 17:44:54 103

原创 如何用axios将json数据和文件一起提交到后台

首先使用的是elementUI表单组件,让用户进行信息的填写定义对象用来接收并记录表单的内容对于文件上传,我们可以从el-upload提供的on-change函数的传参中取得上传文件对象,将此对象存入我们建立的接受对象的相应属性中,以备后续的转化关键步骤,将我们的json对象存入一个表单对象中,并将转换好的对象当作请求参数发出请求对于post请求,应添加 Content-Type : ‘multipart/form-data’ 的请求头,注意是 ‘Content-Type’!下图中的

2021-03-11 20:05:27 3860

原创 IDEA 配置自定义Apache与PHP环境

PHP环境1.1 插件的安装1.2 关于php环境的配置2.apache的配置过程至此,已经配置成功啦,愉快的学习吧!

2020-03-08 15:53:12 2524 4

空空如也

空空如也

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

TA关注的人

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