自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 前端上传文件组件封装(element plus+vue3)

【代码】前端上传文件组件封装(element plus+vue3)

2023-12-26 15:01:22 286

原创 前端使用XLSX.JS获取excel表格中指定表的内容

【代码】前端使用XLSX.JS获取excel表格中指定表的内容。

2023-12-26 14:55:23 328

原创 前端深拷贝和浅拷贝

深拷贝是指创建一个新的对象,并将原始对象的值和引用都复制到新对象中。深拷贝会创建一个新的对象,并将原始对象的所有值和引用都复制到新对象中。因此,如果原始对象的值发生变化,新对象的值不会随之变化。浅拷贝是指创建一个新的对象,并将原始对象的值复制到新对象中。浅拷贝不会复制原始对象的引用,因此,如果原始对象的值发生变化,新对象的值也会随之变化。

2023-11-30 17:02:03 149

原创 使用dagreD3绘制流程节点(vue3+ts)附全代码,粘贴直接可用

【代码】使用dagreD3绘制流程节点(vue3+ts)附全代码,粘贴直接可用。

2023-11-30 11:36:49 1096 6

原创 JSX代码中如何控制元素的隐藏

【代码】JSX代码中如何控制元素的隐藏。

2023-08-25 16:11:51 286

原创 vue3中如何使用动态组件

【代码】vue3中如何使用动态组件。

2023-08-24 15:59:09 244

原创 vue3中父组件与子组件的通信传值

【代码】vue3中父组件与子组件的通信传值。

2023-08-24 15:46:04 640

原创 vue2中父组件与子组件通信传值

【代码】vue2中父组件与子组件通信传值。

2023-08-24 15:08:53 62

原创 如何fock github上的开源项目

7. 最后,您可以在GitHub上创建一个Pull Request(PR),将您的更改提交给Element Plus的原始仓库。一旦完成,您将被重定向到您的GitHub账号下的Element Plus仓库页面。4. 现在,您可以在本地克隆您的Element Plus仓库副本。这将在您的GitHub账号下创建一个Element Plus的副本。您可以使用任何适合您的IDE或文本编辑器打开克隆的仓库。将 "your-username" 替换为您的GitHub用户名。这将把您的更改推送到您的GitHub仓库。

2023-08-17 17:53:05 243

原创 前端插件封装,如何将插件打包成npm包,

开发过程中,我们经常自己二次封装UI组件,或者自己封装一些方便开发的插件,为了方便团队成员也可以使用我们封装的插件,可以将插件单独打包成npm包,并在项目的package.json中配置好插件的信息,这样,在项目npm install安装依赖的时候,就可以将插件顺便安装下来,并引用。以下是我在开发过程中,二次封装element-plus,并单独打包成npm包引用的示例。这样就可以在项目下载依赖的时候,将插件的依赖包下载到项目中并使用。,将其打成npm压缩包,在此之前我们需要进行一些配置。

2023-08-17 17:46:35 816

原创 如何在项目中引用本地的npm包

2. 不要指定包名的版本号,而是指定依赖项所在的本地路径。本地路径应该是相对于当前项目目录的路径。

2023-08-17 17:42:01 2601 1

原创 前端导入模块的方法(全)

4. UMD:UMD(Universal Module Definition)是一种兼容多种模块系统的通用模块定义规范。它可以同时支持 CommonJS、AMD 和全局变量导入的方式。3. AMD:AMD(Asynchronous Module Definition)是一种用于浏览器端异步加载模块的模块系统。1. CommonJS:CommonJS 是 Node.js 使用的模块系统,它使用。2. ES6 模块:ES6 模块是现代 JavaScript 的标准模块系统,它使用。关键字来导入和导出模块。

2023-08-10 11:05:33 422 1

原创 在node环境中,require引入文件的过程

4. 加载文件:一旦找到文件,Node.js会将该文件加载到内存中,并执行其中的代码。时,你需要指定要引入的文件的路径。相对路径是相对于当前文件的路径,而绝对路径是从根目录开始的完整路径。语句时,Node.js会解析指定的文件路径,并尝试找到对应的文件。它通常用于Node.js环境中,用于导入其他JavaScript文件或模块。你可以将返回的对象赋值给一个变量,然后在你的代码中使用它。1. 确保Node.js环境:首先,确保你在Node.js环境中运行代码,因为。5. 返回导出对象:如果被引入的文件使用。

2023-08-09 17:41:55 1311

原创 前端页面自适应(等比例缩放)

以上写法有一个bug,就是如果页面的宽高比例较大时,底部会出现空白,大家可把页面body的颜色调节成和页面颜色相同的颜色,页面看起来会比较舒服。

2023-07-14 18:13:04 2389 1

原创 如何在HTML里面使用Vue组件(包含递归组件)

2、组件使用时的标签名字和传参时使用的命名不能用驼峰,需要用“-”连接,如图;1、子组件必须有一个根元素,如图;希望本次的分享对大家有所帮助!

2023-07-14 17:49:03 3702 1

原创 如何在原生HTML里面使用VUE(保姆级教学)

上面是在原生HTML里面引入vue的方法,其他的同理,如:elementUI、ant Desgin Vue等,都可以用类似的方式引入到原生HTML里。这样就可以在html里面使用Vue了,下期我将分享在html里面使用Vue组件~成功引入vue后,我们就可以在html文件里使用vue,下面是示例;将上面代码添加到html的head里,即可全局使用vue的方法;(2)将搜索到的内容全选复制项目的vue.js文件里,如图;(3)在index.html里面引入;)复制到浏览器,并搜索;(1)将CDN的路径(

2023-07-14 16:49:41 16598 1

原创 JavaScript中的操作符(史上最全)

如果条件表达式为true,则返回结果表达式的值,否则返回冒号后面的值。- 加法操作符(+):用于加法运算,如果两个操作数都是数字,则执行加法运算,如果其中一个操作数是字符串,则将另一个操作数转换为字符串后进行字符串拼接。- 右移操作符(>>):用于将一个数的二进制数向右移动指定的位数,如果是正数,则在左侧添加0,如果是负数,则在左侧添加1。):用于逻辑非运算,将操作数取反,如果操作数为真,则返回假,如果操作数为假,则返回真。- 减等于操作符(-=):用于将右侧的值减去左侧的变量,并将结果赋给左侧的变量。

2023-06-15 10:34:38 908

原创 亮灯算法+例题详解

在Traffic Light算法中,进程被分配为“红色”、“黄色”或“绿色”状态,分别对应“停止”、“谨慎前进”和“前进”。在上面的代码中,我们使用setTimeout模拟计算平方和的任务,并使用一个锁来保证每个进程或线程在计算平方和时都是互斥的。每个进程或线程负责计算一部分数字的平方和,然后将结果返回给主进程或线程,最终将所有结果相加即可得到整个序列的平方和。总的来说,亮灯算法是一种非常有用的同步技术,可以用于各种并发编程场景,以确保多个进程或线程之间的安全访问共享资源。

2023-06-14 17:14:06 84

原创 VUE中的可配置脚本文件以及npm install之后发生了什么

这可以确保在不同的环境中安装相同的软件包版本,从而确保项目的稳定性。这些脚本文件可以用于执行各种任务,例如构建应用程序、检查代码风格、运行测试、启动开发服务器等。通常用于确保软件包可以正确安装和运行,并且可以在版本更新前进行额外的检查。这些脚本可以用于执行各种任务,例如编译代码、生成文档、运行测试、提交代码到版本控制系统等。通常用于确保软件包可以正确安装和运行,并且可以在发布前进行额外的检查。:用于在提交代码之前运行的脚本文件。文件,则使用该文件中列出的确切版本号安装依赖项,否则安装最新版本。

2023-06-14 10:44:11 303

原创 前端ExcelJS设置某一列的数字格式

当前端要导出表格时需要设置时间或者重量以及金钱的数字格式,可以运用worksheet.getColumn('需要进行格式转换的列数').numFmt来进行数字的格式转换,具体的格式也可以参考下图中的单元格格式中的数字格式。

2023-06-05 17:58:05 1914

原创 JS柯里化

在上面的例子中,getRandomBetween函数接收两个参数,然后我们通过柯里化,将其变成一个只需要传递一个参数的函数,这样在后续使用中,我们只需要传递第一个参数,就可以立即得到一个1到10之间的随机数。在参数复用中,我们可以用柯里化的方式来把一些固定的参数提前传递给函数,然后在实际调用时再传递剩余的参数,从而减少代码重复,提高代码的复用性。在这里,curriedAdd是一个柯里化的函数,它把一个接收两个参数的函数变成了两个接收单一参数的函数,这样我们就可以通过链式调用来实现多参数的传递。

2023-05-25 22:02:45 143 1

原创 JavaScript数据结构和构造函数(全)

在 JavaScript 中,可以使用 Set 类来创建集合,并使用 add() 方法向集合添加元素,使用 has() 方法来检查集合是否包含元素。数组(Array):是 JavaScript 中最常用的数据结构,它是一组有序的值的列表,每个值都有对应的索引。在 JavaScript 中,可以使用 Map 类来创建映射,并使用 set() 方法向映射添加元素,使用 get() 方法获取元素。图(Graph):是一组由节点和边组成的网络结构,其中节点表示网络中的对象,边表示两个节点之间的连接。

2023-05-22 09:27:20 322 1

原创 前端关于TCP的面试题(带答案)

TCP的三次握手是建立连接时的操作,客户端向服务端发送SYN包,服务端接收到后回复一个ACK和一个SYN包,客户端再回复一个ACK包,建立连接。这些操作是为了确保双方都能够建立和关闭连接,并且完成数据的传输。TCP协议是一种可靠的、面向连接的协议,它能够保证数据传输的可靠性和正确性,但是传输效率比UDP协议要低,因为TCP协议需要进行握手、挥手、流量控制、拥塞控制等操作。TCP协议是一种面向连接的、可靠的、基于字节流的传输层协议,它主要用于在网络上进行数据传输,可以保证数据传输的可靠性。

2023-05-17 17:49:29 209 1

原创 ant desgin vue 中的表格分页实现(详解)

其中包括需要显示的每页条数、分页条数是否可调、当前页码、总条数等信息。在配置中,我们还可以通过。函数中,我们可以处理翻页的逻辑,并重新请求数据以更新表格。在上面的代码中,我们给 a-table 组件传递了。属性指定一个函数来处理页码改变的事件。

2023-05-15 14:16:46 4959 3

原创 JS中常用的排序算法

在实际应用中,常用的排序算法有快速排序和归并排序,因为它们的时间复杂度相对比较低,而且对于大规模的数据排序效果比较好。2. 选择排序: 选择排序算法是将数组分成两个部分,第一部分是有序的,第二部分是无序的。每一轮排序中,取出未排序部分的第一个元素,将它插入到已排序部分的正确位置。1. 冒泡排序: 这是一种比较简单的排序算法,在每一轮比较中,将相邻的元素进行比较,如果它们之间的顺序不正确,则交换它们的位置。5. 归并排序: 归并排序算法也是利用分治的思想,将问题分解成若干个子问题,并解决这些子问题。

2023-05-10 18:10:28 98

原创 Vue--diff算法(详解)

Vue的diff算法是用来比较虚拟DOM的差异性的算法,通过比较前后两个虚拟DOM的差异,然后根据差异进行最小化更新,从而避免重新渲染整个页面,提高了页面的性能。在新旧虚拟节点的比对过程中,为了提高比对效率,需要为新旧虚拟节点创建映射表,将新旧节点的对应关系记录下来,方便后续比对过程中的查找和匹配。1. key:表示每个节点的唯一标识,在新旧虚拟节点的比较过程中用于判断节点是否相同,如果没有指定key,则会使用节点的索引作为key。1. nodeOps:用于操作真实DOM节点的方法,如创建、删除、插入等。

2023-05-10 17:50:37 929

原创 前端结构赋值详解

这会将 `person` 对象中的 `name`,`age` 和 `city` 属性分别赋值给 `name`,`age` 和 `city` 变量。注意,我们使用了别名 `address` 来指代 `person` 对象中的 `address` 属性,并且使用了嵌套的结构赋值来提取 `city` 属性。如果需要在变量之前声明它们,可以使用 `let` 或 `const` 关键字。这会将 `obj` 对象中的 `prop1` 和 `prop2` 属性分别赋值给 `prop1` 和 `prop2` 变量。

2023-05-09 15:37:06 284

原创 JS对象属性方法

10. Object.assign(target, ...sources) - 将源对象的所有可枚举属性复制到目标对象。3. Object.getOwnPropertyDescriptor(obj, prop) - 返回对象属性的描述符。4. Object.getOwnPropertyDescriptors(obj) - 返回对象所有属性的描述符。9. Object.entries(obj) - 返回对象所有可枚举属性名和属性值的数组。7. Object.keys(obj) - 返回对象所有可枚举属性名。

2023-05-09 14:02:19 78 1

原创 Vue双向数据绑定原理

在这三个部分中,Observer是最核心的部分,其原理是通过递归遍历数据对象的每个属性,并为其添加getter/setter,当属性被读取或者修改时,能够触发相应的回调函数,从而实现数据的监听和更新。为了解决这个问题,Vue提供了虚拟DOM和异步更新等技术,从而优化了数据绑定的效率。1. Observer:数据监听器,能够对数据对象的每个属性进行监听,当数据发生变化时,能够触发相应的回调函数。2. Watcher:观察者,将数据对象的属性与模板指令进行绑定,当数据发生变化时,能够触发相应的更新操作。

2023-05-09 09:11:09 213 1

原创 Lodash源码分析-数组

Lodash源码分析

2023-05-06 16:04:55 212 1

产品流程态势图-原生HTML引入Vue.js

开箱即用的态势图看板,主要功能为,左侧自制件和右侧工艺流程块实现双向映射。左侧为产品自制件树形结构,采用递归组件实现,组件会根据层级的大小改变字体大小和颜色,背景图也会相应改变,竖线也单独做成递归组件,并计算其位置,递归组件采用vue的$on和$emit进行全局传参,避免了递归组件只能在同级状态下显示背景高亮的问题,右侧为工艺流程图,初始阶段有一次工艺流程和多次工艺流程两种情况,代码进行了分别布局,右侧工艺卡片单独做成组件,卡片共有四个状态,灰色(工艺流程块暂无数据时的状态)、蓝色(点击工艺流程块时的状态)、顺序高亮(点击左侧自制件节点会对应流程块按顺序高亮的状态,暂时没有数据,顺序全部为1)、正常颜色(工艺流程块未点击并且有数据时的状态)。页面主体做了页面自适应,采用等比例缩放的原理,简单粗暴,并且避免了页面中固定定位的图形根据页面的变化出现错位的问题,页面中有很多设计到计算的地方,可能我处理的不是最佳方案,大家可以略过,新手可以研究一下递归组件的传值,当时第一次做递归组件,也是研究了半天,以上就是改项目的大致信息,大家如果有什么疑问,可以与我沟通,我会及时回复大家!感谢大家的支持!

2023-07-14

空空如也

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

TA关注的人

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