自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 问答 (1)
  • 收藏
  • 关注

原创 Vue3源码(runtime-dom/core相关,teleport,provide/inject,生命周期函数,keepalive等)

传送组件,通过to属性指明传送的位置创建一个Teleport对象在创建虚拟DOM的时候,处理teleport情况在patch函数中修改默认分支处理修改Teleport对象中的process方法teleport卸载的时候也是在Teleprot类中创建一个卸载方法修改unMount卸载方法,vnode.type即Teleport对象。

2025-07-10 08:44:54 584

原创 Vue3.4源码runtime-dom,runtime-core相关(h函数,render函数,diff算法,插槽,props,emits)

runtime-dom用于浏览器渲染,基于runtime-core实现跨平台,而此包基于reactivity实现响应式处理。创建响应的packages包并安装给runtime-dom创建节点相关的配置文件nodeOpts创建属性相关的操作文件patchProp在createRenderer中使用,测试配置项是否可以正常使用然后创建render方法然后将createRenderer函数提取到runtime-core包中。

2025-06-30 08:01:55 1026

原创 Vue3.4源码解析(reactive,effect,ref相关,computed,watch)

,{console.log("自定义调度器");})){_effect.run() //fn中依赖的数据改变了,重新执行})_effect.run() // 默认执行const runner = _effect.run.bind(_effect) //用户主动调用此时因为外部没有主动调用run方法更新视图,所以视图未更新。

2025-06-17 09:12:30 434

原创 LogicFlow自定义使用

方法中用于初始化的时候挂着节点,同时在h函数中也初始化添加了props属性。因此在自定义节点组件中可以使用。安装相应的库,第二个引入控制画布缩放,历史前后退等功能。中还用于节点更新的时候,重新给组件传递自定义属性值。方法用于读取对应节点的properties属性值。(开始节点和结束节点的自定义组件未写)当把宽高设置很大的时候查看效果。顶部创建一个添加节点操作区域,下面两个代码用于设置描边范围。

2024-11-20 11:28:18 980

原创 react18+react-transition-group实现路由切换过度

原先项目中我的nodeRef引用是放路由表中每一项,然后每次进入页面的时候,遍历路由表取当前路由的nodeRef属性,这次我发现直接创建nodeRef就可以(原先是想每一个路由进入创建唯一的一个ref实例),这里必须有ref,否则控制台报错。

2024-10-13 12:47:21 524

原创 react+ts+vite 别名一直爆红问题

并且tsconfig.json中配置了如下解析还是报错,同时没有别名提示。测试可以解决别名不提示,和@引入一直爆红的问题。给如图两个json中添加相同的别名配置如下。已经配置如下代码安装了。

2024-10-12 20:34:27 787

原创 流程 设计

实习做这个功能的时候没头脑思路,现在学会了就记录一下完成的过程。下面是效果图整体采用链表的数据结构搭建,每一个节点就是如图所示的内容,每一个节点包含自身的描述信息,包含子项child的信息,整体渲染方式采用递归子组件完成。默认情况下就存在两个视图节点,即开始和节数节点,对应的数据结构如下。后期查找父子级关系的时候采用id和pid去维护。

2024-08-09 16:27:38 945

原创 vue3+vite按需引入element-plus icons

正常安装官方指定的插件包,下面是一个按需引入element-plus组件和字体图标的配置。然后模版中使用的时候需要如下方式,有点像Iconify,所有的字母之间均是。线连接,首字母小写拼接。

2024-07-26 13:15:13 347

原创 fullcalendar基础使用

日历插件,下面是实现的一个基础模版实现任务的添加修改操作。

2024-07-12 14:52:38 712

原创 vue3+vite+nodejs,通过接口的形式请求后端打包(可打包全部或指定打包组件)

vue3+vite如何使用后端接口完成打包操作

2024-06-28 09:35:46 1012

原创 electron基础使用

代码签名是一种可用于证明桌面应用程序是由已知来源创建的安全技术。Windows 和 macOS 拥有其特定的代码签名系统,这将使用户难以下载或启动未签名的应用程序。代码签名在。

2024-06-11 20:37:11 1642

原创 Vue2+Vue3知识补充

一个对象默认的配置规则参数如下,通常都是为true。通过方法查看当使用定义一个对象中已经存在属性的配置项时。如果没有重新定义配置,那么还是以之前的配置参数为主。但是,如果往一个对象身上,使用定义一个原本不存在的属性,那么默认的配置信息通常都是false如果存在一个数组,这时候需要写一个公共的方法,那么会写到数组的原型身上。但是for/in循环会将自身的和原型身上可枚举的属性都处理。这就会造成了循环的时候将函数打印出来。会造成别人使用forin循环的时候出现不可预测的问题正确做法应该是这样子,

2024-06-11 20:36:41 845

原创 解决electron设置透明背景后,引入element-plus样式问题

app.vue文件中引入使用,这个时候会出现一个问题,el-button按钮的hover样式没有了,同时绑定的点击事件也无法触发。添加如下代码,则按钮的hover样式可以正常触发。首先给当前窗口设置自定义窗口以及背景色。然后自定义一个头部并引入。

2024-06-11 10:26:52 782

原创 tinymce富文本编辑器使用

当前项目中富文本是放在一个dialog中,因此部分样式会有层叠问题,该组件样式部分不添加。这里图片上传只是前端静态数据展示收集。

2024-05-29 14:32:02 439

原创 React基础原理实现

上面的代码是进行初始化渲染操作,涉及到更新或者删除的时候,将在 render 函数上收到的元素与我们提交给 DOM 的最后一个fiber树进行比较。因此,我们需要在完成提交后保存对“我们提交到 DOM 的最后一个fiber树”的引用。修改代码如下,当render函数初始化工作单元后,浏览器会在空闲的时候自动去执行workloop函数,在函数内部去执行performUnitOfwork函数。函数组件的话,不需要创建DOM结构,数据是来自函数的返回值添加到函数组件的父DOM结构中。属性,记录上一个fiber。

2024-03-20 22:29:06 756

原创 casbin

subject是sub的访问实体,object是obj访问的资源和action是act访问方法,eft是策略结果,一般为空,默认指定allow,还可以指定deny。

2023-11-29 15:44:57 1900

原创 常见数据结构例题

算法的稳定性是当两个相同的值出现的时候。在排序过后,是否还能保持原来的相对位置。选择排序每次找出最小的值放到起始位置 int[] arr = {5, 3, 6, 8, 1, 7, 9, 4, 2}; int temp = arr[0]; for (int i = 0; i < arr.length-1; i++) { int minPos = i; for (int j = i + 1; j &l

2023-11-14 14:17:10 244

原创 常见数据结构和算法(Typescript)

线性结构由n个元素组成的。常用的线性结构有:线性表,栈,队列,双队列,数组。数组的内存是连续的,因此在知道下标的情况下,访问效率是很高的。(早起JavaScript的数组内存实现并不是连续的。

2023-11-14 14:17:00 556

原创 常用 方法

【代码】常用 方法。

2023-11-14 14:16:20 135

原创 SVG基本认识

SVG格式不适合做高清图片,不适合做像素级操作,SVG图像不应该做的很复杂,因为会影响加载速度,因为它是加载到DOM中的。

2023-11-14 14:16:09 820

原创 Canvas基本知识点

下面这段代码,因为并没有每次移动坐标的时候保存上一次位置,因此每次移动坐标都改变。

2023-11-14 14:15:55 1040

原创 git使用

设置用户签名git init,会在某一个目录下面初始化一个.git目录,用于管理当前git项目所有的代码必须先提交到暂存区后,从暂存区中再次提交到master中才会被赋予历史版本号。

2023-11-14 14:15:41 54

原创 Vue3组件之间过度切换

对vue的组件之间过度切换知识点比较薄弱,因此写一篇博客练习一下注意点。首先搭建如图所示结果,然后配置路由信息。

2023-11-14 14:15:32 215

原创 前端技巧--笔记2

/</</</</</设置完成后如图,然后创建一个动画应用给span元素添加alternate是为了让文字熄灭的时候可以交替切换颜色,而不是瞬间回到初始值开始变化这个时候只需要设置每一个span元素动画的延迟时间即可。

2023-11-14 14:15:16 326

原创 前端大文件上传

设置axios的统一配置信息。

2023-09-01 14:05:44 199

原创 React基础知识--6

给Demo按钮添加一个异步按钮,注意标识上进行了SAGA处理。第二个按钮执行的时候,第一次进入reducer中不会执行任何操作。但是会跟saga中的匹配。

2023-08-09 16:53:31 338

原创 知乎日报项目下--React

在baseReducer问中,对派发标识进行处理,负责用户数据的初始化和删除在baseAction中实现派发的具体代码,需要使用到redux-thunk中间件然后在Login组件中引入react-redux提供的connect方法使用store中的数据,最终props的内容如图解构出需要的内容控制台成功输出,state中获取到了用户数据在登录成功后,需要处理跳转的逻辑有几种情况。/loginto在登录页的props属性中结构出地址中的search参数,修改原先登录的跳转代码。

2023-08-01 19:13:03 312 7

原创 知乎日报项目上--React

加载更多数据代码如下,监听元素是否出现在可视区域,决定是否发送请求。

2023-07-29 17:31:41 639 4

原创 React基础笔记--5

是PC端处理路由的解决方法,与之对应的还有移动端的路由适配处理。当代前端开发主要以SPA单页面开发为主。那么单页面和多页面的区别是什么?如图,其中SPA不适用于SEO优化,因为大部分SPA都是基于,这就会导致查看源代码的时候缺少很多信息,而SEO优化恰恰是需要从源代码中获取部分信息来优化。但是还有一种服务端渲染,在服务端处理的时候就将整个页面数据全部渲染完成直接返回给前端,而前端直接使用这个页面即可,在这个页面中包含了几乎所有的源代码信息,因此利于SEO优化。

2023-07-23 22:57:17 402 1

原创 React基础笔记--4

至于处理的格式配置中已经定义好了。(值的基本处理原则:文件名_类名_哈希值)

2023-07-20 23:20:25 241 1

原创 前端技巧--笔记1

console命令有关console.table()使用console.table()可以将一些网络请求获取的数据以表格的形式展现出来方便调试。比console.log()更直观。console.group(),groupEnd(),groupCollapsed()可以使用group()和groupEnd()快速打印一个分组信息。使用group()打印的分组信息默认展开。 而使用groupCollapsed()默认将分组折叠显示 let label = 'Package' cons

2023-07-14 08:46:19 379 1

原创 React基础笔记--3

封装一个自定义函数的普通命名都是以use起头命名。在这里我们尝试封装一个hooks函数可也实现部分状态更新,因为在之前我们已经测试过了useState无法支持部分状态更新,因此我们需要自定义实现。//函数组件主体代码 let [ state , setPartialState ] = usePartial({supNum : 10 , oppNum : 5 }) // 按钮点击的公共函数 function handle(type) {

2023-07-12 16:25:16 299 1

原创 React基础笔记--2

根据之前类的知识,我们知道每次。

2023-07-09 09:16:15 326 1

原创 React基础笔记--1

在默认环境下,脚手架给我们安装的是预编译语言,我们可以替换。步骤如下:先移除旧的预编译器npm i less和:安装less预编译,注意版本不能太高,否则不兼容。

2023-07-01 20:50:04 1061

原创 Vue3小兔鲜 - 下

在Element plus表单组件中内置了一些简单的校验规则,如上面的代码就是。像这种简单的校验只需要调用提供的配置项即可。如果想定制一些特殊的校验规则就需要采用自定义校验规则,其有对应的验证格式。自定义校验规则依旧是在表单的校验对象中完成。添加一个新的字段,负责处理勾选时候的逻辑同时绑定自定义校验规则。//callback不论成功或失败都需要调用 } }// 自定义校验规则 validator :(rule , value , callback) => {

2023-06-25 17:26:24 419 2

原创 Vue3小兔鲜--上

create-vue,即官方的项目脚手架工具,提供了搭建基于 Vite 且 TypeScript 就绪的 Vue 项目的选项。当创建vue应用的时候需要注意:npm init vue@latest该指令会安装并执行create-vue。vue3推荐使用volar插件,格式化的时候需要设置该插件为默认格式化工具。且需要把vue2的vetur关闭。 "[vue]": { // "editor.defaultFormatter": "octref.vetur" "editor.defaul

2023-06-19 08:26:03 573

原创 粒子 特效

刷抖音看见的,感觉不错就试着敲了一遍。

2023-06-13 09:00:20 134

原创 vue-网易云音乐笔记

后台搭建直接将代码包安装到自己的项目中,后台文件包。1.npm install安装依赖包2.node app.js运行出现以下结果代表运行成功rem实现由于采用的是移动端的项目,所以会语句视口适配的问题,在这里采用rem适配,但是采用rem适配的时候需要配置文件信息。在public目录下创建一个js目录并添加rem.js文件,代码如下function remSize() { // 定义设备的宽度,在iphone6中,宽度为375 let deviceWidth = document

2023-06-12 10:16:58 904 1

原创 Typescript笔记

typescripttypescript的一个特征就是静态类型检测。在JavaScript中,需要将代码运行到浏览器中才可以查看报错结果。在typescript提供的编译环境中发现,在编写代码的阶段,就直接给出下划线错误提示信息。typescript会对错误的拼写,函数未调用,逻辑错误等进行检测。typescript基本认识安装typescript:npm i typescript -g创建一个1.ts的文件并添加代码。发现如果在编写代码环节就出现了某些错误,那么会直接给出错误的提示信息。

2023-06-03 15:47:10 860

原创 千峰--企业新闻发布管理系统--下

在web展示页面,不涉及到路由权限控制,所以不进行配置创建项目文件结构和admin文件一致,这里就省略了。这里对于前端的显示页面只有3个部分需要使用到vue-rouoter控制。在路由配置文件中配置相关代码这个时候可以在前端页面给用户增加体验,每次切换路由的时候会显示一个进度条效果在路由进入和退出之前调用对应的进度条显示方法。

2023-05-14 18:32:10 242

Node.js自学笔记

Node.js自学笔记

2023-03-19

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

TA关注的人

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