自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 js树的排序

本文介绍了树的基本遍历方法和树排序算法。主要内容包括: 二叉树的三种遍历方式: 前序遍历:根-左-右 中序遍历:左-根-右 后序遍历:左-右-根 每种遍历方式都提供了递归实现的代码示例。 树排序算法: 基于二叉搜索树,将数据插入树后通过中序遍历获取有序序列 分析了时间复杂度:平均O(n log n),最坏O(n²) 提出使用平衡二叉树优化性能 文章通过代码示例详细说明了各种遍历和排序的实现方法。

2025-07-04 11:27:15 258

原创 js算法笔记

摘要:动态规划适用于具有最优子结构的问题(如最大子序列和),通过存储子问题解提高效率;贪心算法(如背包问题)追求局部最优但可能牺牲全局最优;分治算法(如二分搜索)将问题分解为独立子问题递归解决;回溯算法(如N皇后问题)穷举所有可能解。四类算法在问题类型、解质量和效率上各有特点:动态规划和分治确保最优解,贪心效率高但解可能非最优,回溯可找全部解但效率较低。

2025-07-04 11:26:00 478

原创 vue状态管理与TS

本文介绍了Vue.js中的状态管理和TypeScript集成。状态管理部分首先解释了组件独立状态的概念,然后讨论了多组件共享状态的问题,提出了使用响应式API进行简单状态管理的方案,并推荐使用官方维护的Pinia库替代Vuex。TypeScript部分强调了TypeScript在Vue开发中的优势,包括错误检测和开发效率提升,详细介绍了IDE支持、defineComponent()的使用方法,以及如何在组合式API中为组件props标注类型,特别说明了<script setup>语法下defin

2025-07-04 11:23:27 798

原创 异步编程与事件循环机制

本文介绍了JavaScript异步编程的演进,从传统回调模式到Promise机制。首先分析了setTimeout等回调函数处理异步操作的局限性,包括处理异步返回值、失败处理和嵌套回调带来的"回调地狱"问题。接着重点讲解了Promise的工作原理,包括三种状态(pending、fulfilled、rejected)、执行器函数的同步特性以及状态转换的不可逆性。最后介绍了Promise.resolve()静态方法的使用,可以将任何值转换为Promise对象。文章通过代码示例展示了Promis

2025-07-04 11:20:49 1266

原创 vue3组件通信

Vue3组件通信方式总结 Vue3提供了多种组件通信方式:1️⃣props实现父子组件通信,数据为只读;2️⃣自定义事件实现子父组件通信;3️⃣全局事件总线(可使用mitt插件)实现任意组件通信;4️⃣v-model实现父子数据双向绑定,支持多v-model同步;5️⃣useAttrs获取组件属性和事件,类似于$attrs功能。这些方式覆盖了组件间的各种通信需求,开发者可根据场景选择合适方案。其中props和自定义事件是最基础且常用的通信方式,而v-model简化了父子数据同步的实现。

2025-07-04 10:53:29 1163

原创 vue3逻辑复用

Vue中的逻辑复用可以通过组合式函数和自定义指令实现。组合式函数(Composables)利用Vue的组合式API封装有状态逻辑,遵循"use"前缀命名规范,只能在setup上下文中同步调用,解决了mixin的数据来源不清晰等问题。而自定义指令主要用于复用底层DOM访问逻辑,通过定义包含生命周期钩子的对象来实现,可以局部或全局注册。两者分别适用于不同场景:组合式函数侧重逻辑复用,自定义指令专注DOM操作。

2025-07-04 10:51:43 922

原创 vue事件处理

Vue.js事件与表单处理摘要: Vue提供了v-on指令(@简写)监听DOM事件,支持内联处理器和方法处理器两种形式。事件修饰符(如.stop/.prevent)可以简化常见DOM操作,按键修饰符(.enter等)方便处理键盘事件。v-model实现表单双向绑定,根据输入类型自动匹配value/checked属性和input/change事件。修饰符.lazy延迟更新,.number自动转换数字,.trim去除空格。值绑定支持静态和动态数据,使用v-bind绑定非字符串值。系统按键修饰符(.ctrl等)和

2025-07-04 10:50:32 550

原创 ant-vue-design 中a-select下拉选择框全局自定义滚动条样式

在vue项目中,实现全局使用的a-select选择框都可以默认有自定义滚动条样式。在assets中创建css文件夹用于放自定义样式文件。在main.js中引入样式文件。

2025-03-20 10:38:35 296

原创 JavaScript数组的浅拷贝&深拷贝,以及JSON.parse(JSON.stringify())深拷贝的局限性

JSON.parse(JSON.stringify()) 是一种简单但有限的深拷贝方法。如果需要处理函数、undefined、循环引用等特殊情况,可以使用第三方库(如 Lodash)或手动实现深拷贝。

2025-03-20 10:29:35 970

原创 Echarts需要展示的数据集太多或文字太长,导致遮挡图表信息如何解决?

如何解决数据集太多问题??

2025-02-12 15:26:26 311

原创 sonar关于认知复杂度的计算:前端如何降低代码认知复杂度?

认知复杂度主要关注的是代码块的嵌套层次和控制流的复杂性。它与圈复杂度(Cyclomatic Complexity)不同,后者更多地关注代码路径的数量。认知复杂度更注重代码的可读性和理解难度。我们的代码认知复杂度为什么很高?嵌套层级太深、else-if 太多。

2025-02-12 15:08:42 767

原创 前端代码大量if else if替换成switch case 能否降低代码认知复杂度?

结构类型认知复杂度增加点数备注每个if和else ifelse增加 1 点每增加一个条件分支都会增加认知复杂度,嵌套结构也会增加复杂度。整个switch语句增加 1 点尽管有多个case分支,但整体复杂度较低,通常不会为每个case增加复杂度。:每个条件分支都会增加认知复杂度,适合处理较为复杂的条件判断。:整体复杂度较低,适合处理多个离散值的情况。根据具体的业务需求和代码复杂度,选择合适的控制结构可以有效降低认知复杂度,提高代码的可读性和可维护性。

2025-02-10 16:55:37 800

原创 解决Echarts 图表Y轴name属性太长显示不全问题

当y轴标题name太长内容显示不全被隐藏问题,在yAxis中加入以下代码:截断name,自定义要展示的最大宽度,超出后展示省略号,鼠标悬浮展示全部name。

2025-02-08 15:52:20 604

原创 vitepress预览缩放图片插件的踩坑之路!!!

vitepress搭建静态网站实现预览缩放图片

2025-02-06 09:56:29 556 1

原创 WangEditor5上传/粘贴图片

wangEditor5富文本编辑器上传/粘贴图片,并回显在富文本中。也可以将上传到富文本中的图片自动加入到附件中。附件一般是一个上传图片文件组件,附件在另一篇文章中

2024-12-02 13:28:27 394

原创 ant-design-vue使用upload上传图片并实现预览缩放查看图片

ant-design-vue上传图片后实现预览查看,并支持缩放图片大小

2024-12-02 13:25:36 858

原创 echarts 遍历多个图表,并添加resize缩放

遍历echarst多个图表,并添加独立的缩放函数

2024-10-30 19:10:39 477

原创 a-tooltip内容过多超出屏幕的优化方案

文本内容溢出使用a-tooltip悬浮展示,但内容真的超级超级多,几千字符,直接导致悬浮窗超出屏幕高度。

2024-10-30 18:59:01 640

原创 vue中子组件的mounted/created钩子不会等待父组件created钩子中的异步方法执行完,生命周期不是跨组件的依赖或等待

vue生命周期钩子执行顺序,钩子不是跨组件等待,是自身的生命周期

2024-09-10 11:39:56 1266

原创 echarts 柱状图数据集结合堆叠图

使用echarts的柱状图数据集结合柱状堆叠图,展示动态数据的详细信息和总体趋势

2024-09-10 10:45:56 824

原创 ant vue design日期组件date-picker自定义快捷选择日期封装

ant design vue快捷日期选择

2024-09-04 10:21:12 656 1

原创 vue中filters结合管道符“|”的使用

管道符 过滤 名字标签

2024-09-03 14:08:53 167

原创 使用axios发送请求,对参数进行URL编码,解决某些特殊字符没有自动转码

解决axios请求传参乱码问题

2024-08-20 15:30:14 756

原创 vue Formily动态表单解决方案

动态表单生成设计

2024-08-20 14:45:50 903 1

原创 优化ant vue design 中a-select选择数据过多导致渲染卡顿问题

解决a-select下拉列表渲染数据卡顿

2024-08-19 18:49:38 1075 1

原创 ant design vue 树表格chilren为空数组时也有展开符(加号+)

所有行都有展开符(加号),但实际上chilren为空的数据是不应该有展开符的。

2024-02-26 10:40:08 419

原创 ant design vue 树表格排序、列筛选遇到的坑!

ant design vue树表格排序只能升序,筛选值被清空的坑

2024-02-23 18:06:10 671

原创 antdesign vue 树形表格 table 默认展开所有行 遇到的坑!

默认展开所有行数据:给table添加`defaultExpandAllRows`属性为true。给table绑定动态key,每次数据更新都更新key值,table就会自动变成新的component,即重新渲染。

2024-02-23 14:23:47 1641

原创 a标签添加disabled属性后,没有鼠标禁用的红色样式(cursor:not-allowed不生效)

给a标签disabled属性添加上了`鼠标禁用样式`cursor:not-allowed和`鼠标禁用事件`pointer-event:none,但禁用样式不生效。

2024-01-11 15:55:41 1799

原创 ant design vue动态添加输入框,输入框动态样式bug

写了一个button点击事件动态添加输入框,当输入框为2个及以上时,在输入框右侧新增一个删除功能图标。,所以当新增输入框时,删除的icon会立即执行,而input框会在0.3s后改变宽度为90%。在这里使用了v-bind 对input输入框的style样式进行动态更新。

2023-12-26 11:26:18 643

原创 antdesign vue 自定义实现可选表格,表格某列选项可选、行可选、表头可选

需求:表格指定列中所有单选框的选中状态与对应行的单选框状态,两两相关;每一行的单选框状态又与表头的单选框状态,两两相关。(1)当选择某些行时,表头是部分选样式;所有行选中时,表头会是选中状态;所有行不选时,表头是非选中状态。(2)当点击表头单选框为选中状态时,每一行会变为选中状态。同理,表格数据选中状态与行选中状态类似上述两步~

2023-12-22 17:33:28 2467 1

原创 DOM编程-动态创建脚本、动态添加样式、DOM创建表格

动态脚本就是在页面初始加载时不存在,之后又通过 DOM 包含的脚本。有两种方式通过动态为网页添加脚本:动态加载外部文件在上面最后一行把元素添加到页面之前,是不会开始下载外部文件的。

2023-12-22 16:20:30 242

原创 DOM操作(包括Node类型、Document类型、Element类型、Text类型)

如何使用DOM操作节点、文档、HTML元素、文本节点的详细方法~

2023-12-22 16:16:41 1301

原创 Web Socket原理和使用

实时性:WebSocket提供了实时的双向数据传输,能够实现高效的实时通信,而不需要通过轮询或长轮询等间接方式。低延迟:由于WebSocket建立在TCP连接上,并且使用更轻量级的协议头部,因此可以减少数据传输的延迟,提供更快速的响应时间。节省带宽:WebSocket使用较少的网络流量,因为它使用更紧凑和有效的数据帧格式,并且可以使用二进制数据传输,而不仅仅是文本数据。更强大的功能。

2023-12-05 13:53:11 277

原创 原生Ajax请求--XMLHttpRequest 对象

可以实现不重新加载整个网页的情况下,对网页的某部分进行更新,从而实现更好的用户体验。

2023-12-04 16:50:15 98

原创 vue中实现路由跳转的3种方式

在JS中使用$router操作路由跳转,router.push传参方式

2023-12-04 15:47:58 1831

原创 router.push刷新当前页面,停留在当前标签页不跳转到默认标签页

首先使用了router.push传参query后,路由地址会先改变为’/flowcharts?activeKey=2’,再刷新当前页面(‘/flowcharts?activeKey=2’),就可以实现刷新并停在当前标签页!

2023-12-04 14:17:26 699

原创 Ant-Design的Tooltip如何只在内容溢出时显示,内容不溢出时不显示

scollHeight:元素内容高度,包括溢出的不可见内容。(可视区域高度+被隐藏区域高度,当内容没有溢出时clientHeight ===> scollHeight )clientHeight :元素像素实际高度。(内容有溢出时,理解为可视区域高度)写一个方法阻止鼠标事件,及时页面有多个Tooltip也可以重复使用该方法!

2023-11-30 15:01:12 1545

原创 JS异步编程:Promise、Async/Await、setTimeout与事件循环机制

setTimeout、Promise、Async/Await的使用和区别,它们在事件循环机制中的执行顺序

2023-11-27 10:53:48 1363

原创 MVVM模型和数据代理

在getter和setter内部去操作(读/写)data中对应的属性。具体操作:使用Object.defineProperty()把data对象中所有属性添加到vm上;为每一个添加到vm上的属性都指定一个getter和setter;VM-视图模型viewmodel-vue实例。V-视图view,模板代码。3.数据代理:通过vm对象来代理data对象中数据的操作(读/写)2.MVVM模型:M-模型model,data中的数据。优点:更方便操作data中的数据。

2023-11-24 11:23:14 82 1

前端开发基于Chrome Performance工具的页面性能监控与优化:核心指标分析及问题定位方法

内容概要:本文详细介绍了前端性能监控的重要性及具体实施方法,重点讲解了Chrome Performance工具的使用。文章指出,前端开发人员应关注页面性能指标如白屏时间、首次内容绘制时间等,这些指标能够反映页面性能状况。performance对象挂载于window下,其中的timing属性存储了大量关键节点的时间戳数据,可用于计算页面性能指标,如DNS解析耗时、TCP连接耗时、请求耗时等。文章列举了多个核心性能指标(FP、FCP、LCP、DCL、TTI、SI、TBT、CLS),并针对每个指标提出了优化建议。此外,文章还介绍了如何使用Chrome Performance工具进行性能监控,包括开启和停止记录、刷新页面、解读报告等步骤,以及如何定位和分析性能问题。最后,文章强调了内存泄漏的潜在原因及其防范措施。 适合人群:前端开发人员,尤其是对性能优化有一定需求的研发人员。 使用场景及目标:①掌握前端性能监控的基本概念和重要性;②学会使用Chrome Performance工具进行性能监控和分析;③识别并优化关键性能指标,提升用户体验;④了解内存泄漏的原因及预防方法。 阅读建议:本文内容详实,建议读者在实际开发环境中结合Chrome Performance工具进行实践操作,同时注意对比不同环境下的性能数据,以便更好地理解和应用文中提到的性能优化技巧。

2025-07-04

前端开发Vue3框架核心技术解析:响应式系统、组件通信与构建工具优化

内容概要:本文档《vue3技术总结.pdf》详细介绍了Vue 3.0框架的核心概念、新特性和使用方法。首先概述了Vue作为一个渐进式JavaScript框架的特点,强调了Vue 3.0相较于2.0版本的改进,如更快的渲染性能、更小的打包体积、更好的TypeScript支持以及全新的Composition API。接着讲解了Vue 3.0的关键特性,包括声明式渲染、响应式系统(通过Proxy实现)、单文件组件(SFC)和构建工具Vite的使用。此外,文档还深入探讨了Vue 3.0的响应式原理,如ref、reactive、toRef、toRefs、shallowRef和shallowReactive的区别与应用场景。最后,介绍了Vue组件间通信的各种方式,包括props、emits、ref和provide/inject的具体用法及其实战案例。 适合人群:具有一定前端开发经验,特别是熟悉Vue 2.x的开发者,以及希望深入理解Vue 3.0新特性的中级开发者。 使用场景及目标:①掌握Vue 3.0的核心特性及其优势;②学会利用Composition API组织代码逻辑,提高代码复用性和可维护性;③理解并能实际应用Vue 3.0的响应式机制;④熟练掌握Vue组件间的多种通信方式,满足复杂业务需求下的数据交互。 阅读建议:建议读者在学习过程中结合官方文档和实际项目练习,特别关注Composition API的应用场景和响应式系统的底层实现原理,以加深理解和提升开发效率。同时,对于组件通信部分,可以通过搭建小型项目来实践不同的通信方式,巩固所学知识。

2025-07-04

空空如也

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

TA关注的人

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