自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 el-tree 中:lazy=“true“ 模式下使用双击展开节点而不是单击

组件中实现懒加载模式下的双击展开节点,可以通过自定义节点内容和监听双击事件来实现。这种方法允许你在懒加载模式下通过双击节点来展开节点,而不是单击。同时,你可以根据需要在。来防止单击节点时自动展开或收缩。这样,只有双击时才会触发展开操作。

2024-09-26 10:49:38 564

原创 Generator 函数在异步编程中如何提高代码的可读性

Generator 函数通过将异步代码转换为类似同步的代码,提供了一种更加直观和易于理解的方式来处理异步编程。这不仅提高了代码的可读性,还使得代码更加易于维护和错误处理。

2024-09-26 10:46:03 425

原创 generator 有什么应用场景

Generator 提供了一种强大的控制函数执行流程的机制,它在处理异步任务、懒加载、无限序列等方面有着广泛的应用。通过使用yield关键字,你可以在函数执行的不同阶段进行暂停和恢复,从而实现更灵活的程序设计。

2024-09-26 10:45:11 353

原创 webpack 多个css文件合并成一个

以上步骤可以帮助你将多个CSS文件合并成一个文件,并进行压缩和兼容性处理。引用的配置信息来源于。运行Webpack构建命令,Webpack会将所有CSS文件合并并输出到一个文件中。在Webpack中,将多个CSS文件合并成一个文件通常涉及到使用。在你的JavaScript或Vue组件中,正常导入CSS文件。,它用于将CSS提取到单独的文件中。和相应的加载器(loaders)。如果你需要压缩CSS文件,可以结合。为了确保CSS兼容性,你可以使用。

2024-09-25 10:58:53 888

原创 async await 浅谈如何实现

async和await是建立在 Promise 和 Generator 之上的语法糖,它们提供了一种更简洁和直观的方式来处理异步操作。通过将async函数转换为 Generator 函数,并使用await来等待 Promise 的解决,JavaScript 引擎能够实现这种异步处理的语法。

2024-09-25 10:58:43 318

原创 GoJs 根据条件禁止连线

是一个假设的函数,你需要根据实际需求来实现具体的逻辑。这些代码片段展示了如何通过编程方式控制连线的创建,以满足特定的业务规则或用户界面要求。等属性来控制连线的创建条件。此外,你还可以通过编写自定义的。在 GoJS 中,如果你想要禁止某些特定的连线,你可以使用。行为或者检查函数来实现更复杂的逻辑。

2024-09-24 10:09:51 773

原创 GoJs 节点动态添加样式

属性,这样 GoJS 就可以根据这个属性来设置节点的边框颜色。不生效,可能是因为绑定的语法不正确或者绑定没有被正确地添加到。,那么转换函数将返回默认颜色 ‘black’。属性存在且有有效值,那么该值将被用作。的属性之一被添加,而不是作为。在这个修正后的代码中,我们使用。在 GoJS 中,如果你发现。方法来添加数据绑定。请确保你的节点数据中包含了。属性,或者该属性的值为。方法是直接链式调用在。属性,节点将使用你在。中指定的默认边框颜色。

2024-09-24 10:09:17 300

原创 MySQL 中优化 SQL 语句以提高查询性能

优化 SQL 查询性能是一个综合性工作,需要根据具体的应用场景和数据特点进行分析和调整。通过合理使用索引、优化查询语句、分析执行计划、设计数据库结构以及定期维护,可以显著提高 MySQL 查询的性能。

2024-09-20 14:33:45 751

原创 MySQL索引

MySQL 索引是数据库表中一个或多个列的值存储的数据结构,它可以帮助数据库管理系统(DBMS)快速检索和定位数据行,从而提高查询效率。索引对于数据库性能至关重要,尤其是在处理大型数据集时。

2024-09-20 14:32:24 476

原创 graphQL 参数使用报错问题

这个错误信息表明在你的 GraphQL 查询中,你试图获取 getMembers 字段中的 methods 字段,但是 methods 是一个对象列表(类型为 [UaMethod])。在 GraphQL 中,当你访问一个对象类型的字段时,你需要在该字段后面使用花括号 {} 来指定你想要获取的子字段。在这个示例中,我们不仅查询了 name 和 description,还查询了 inputs 和 outputs,这两个字段本身也是对象列表,所以我们在它们后面也使用了花括号来指定子字段。

2024-09-10 14:37:25 435

原创 JavaScript判断一个变量是否为特定的类型,如字符串或数字

在 JavaScript 中,你可以使用几种方法来判断一个变量是否为特定的类型,如字符串或数字。对于字符串 ‘34’ 和 ‘fdf’,使用 typeof 都将返回 ‘string’,因为它们都是字符串类型的字面量。使用 Number 转换和 isNaN 或 Number.isFinite 可以检查一个字符串是否可以解释为数字。这个正则表达式 ^\d+$ 匹配一个或多个数字字符。使用正则表达式可以检查一个字符串是否完全由数字组成。使用 typeof 可以检查一个变量是否为字符串。3. 使用正则表达式。

2024-09-10 14:32:00 417

原创 Element-Ui el-table 序号使用问题

确保没有 CSS 样式影响 的显示。例如,确保没有设置 display: none 或者宽度过小导致内容不可见。确保你使用的 Element UI 版本没有相关的 bug。如果可能,尝试更新到最新版本的 Element UI。如果你需要更多自定义功能,可以使用 Scoped Slot 来自定义索引列。确保 是第一个定义的列,因为索引列通常作为表格的第一列显示。使用 Scoped Slot 自定义索引列。1.检查是否有 CSS 样式影响。检查 Element UI 版本。

2024-09-10 14:29:47 493

原创 Vue 3 中,确保 Tooltip 组件能够正确响应动态变化的标签内容

如果 Tooltip 组件被包含在 v-if 或 v-show 条件语句中,确保这些条件是响应式的,并且不会意外地销毁 Tooltip 组件。确保绑定到 Tooltip 组件的内容是响应式的。如果你使用的是第三方 UI 库(如 Element Plus),确保库的版本与 Vue 3 兼容。如果你使用的是局部组件注册,确保在 setup 函数中正确导入并注册 Tooltip 组件。如果你需要在数据变化时执行额外的逻辑,可以使用 watch 属性来监听数据的变化。

2024-08-16 09:45:59 305

原创 动态规划之斐波那契数列

动态规划(Dynamic Programming, DP)是一种算法策略,用于解决具有重叠子问题和最优子结构特性的问题。我们从第 2 项开始,使用 fib[i - 1] + fib[i - 2] 来计算当前项,这样避免了递归中的重复计算。斐波那契数列是一个每一项都是前两项和的序列:0, 1, 1, 2, 3, 5, 8, 13, …上述解法的空间复杂度为 O(n),我们可以通过只存储前两个值来优化到 O(1)。最终,fib[n] 存储的就是斐波那契数列的第 n 项。计算斐波那契数列的第 n 项。

2024-08-16 09:03:22 263

原创 判断 async/await 是否对性能产生了负面影响

async/await 可能会创建额外的 Promise 实例,这可能会影响内存使用。在 async/await 中,错误处理可能需要捕获每个 await 表达式的结果,这可能会影响性能。如果发现性能问题,审查和重构代码,移除不必要的 await,使用 Promise.all 来并行处理多个异步操作。在可能的情况下,进行 A/B 测试,比较使用和不使用 async/await 的版本在真实用户环境中的表现。编写微基准测试来测试 async/await 的性能影响,特别是在循环或大量异步操作的场景中。

2024-08-06 08:42:11 461

原创 vue 使用 element-plus 中的el-tree 卡顿问题

loadNode(node, resolve):这是懒加载函数的标准形式,接收两个参数,node 是当前需要加载子节点的树节点,resolve 是一个回调函数,用于将加载的子节点数据“解决”并填充到树节点中。await 会在等待 Promise 解决时暂停函数的执行,这在某些情况下可能会导致不必要的等待,尤其是在主线程上,这可能会影响 UI 的响应性。在某些情况下,如果 loadNode() 方法中包含多个 await 调用,它们会按顺序执行,这可能会阻塞异步执行队列,延迟其他异步操作的执行。

2024-08-06 08:40:01 1202

原创 前端开发虚拟列表

虚拟列表只渲染当前视口可见部分的数据,大大减少了渲染的节点数量,提高了页面的性能和响应速度。动态数据更新:对于实时更新的数据,虚拟列表能够更高效地处理数据的添加、删除和修改,只更新可见区域的数据,避免了对整个列表的重新渲染。适应不同设备和网络环境:无论是在低性能设备上还是在网络条件较差的情况下,虚拟列表都能够保证页面的基本可用性和较好的性能。例如,一个包含数万条记录的列表,如果全部渲染,可能会使浏览器内存占用过高,而虚拟列表只渲染当前能看到的几十条。

2024-07-19 14:26:13 240

原创 前端监听浏览器关闭事件

这种方式通常适用于一些不太关键的数据统计或日志记录等场景,例如记录用户的访问时长、页面浏览路径等,而对于关键的业务数据,可能需要在用户操作过程中及时保存或使用其他更可靠的方式进行处理。在 beforeunload 事件中,无法直接监听离开按钮的点击事件,也不能为 event.currentTarget 添加 close 事件监听器来获取离开按钮的相关事件。它是一种异步发送数据的方式,不会阻塞页面的卸载过程,这有助于提高用户体验,避免因为发送数据而导致页面关闭延迟。

2024-07-19 13:53:20 439

原创 Vue 和 React 框架实现滚动缓冲区

当满足条件时,设置isLoading为true,模拟异步加载数据(使用setTimeout),加载完成后更新items数据并将isLoading设为false。定义了一个组件,其中包含数据items用于展示列表项,bufferSize表示缓冲区大小,isLoading用于标识是否正在加载数据。当满足条件时,设置isLoading为true,模拟加载数据后更新items状态并将isLoading设为false。通过@scroll监听滚动事件,在事件处理函数handleScroll中进行滚动距离的计算和判断。

2024-07-17 10:01:10 589

原创 Uniapp 使用 Leaflet

在 regionChangeHandler 方法中,可以通过 e.target.getZoom() 获取新的缩放级别,通过 e.target.getCenter() 获取变化后的地图中心经纬度。在 Uniapp 中使用 Leaflet 处理地图的缩放和移动事件,可以通过监听 Leaflet 提供的相应事件来实现。上述代码中,首先创建了一个具有特定类名的视图容器用于显示地图,然后在页面的onReady生命周期方法中初始化地图,并添加了 OpenStreetMap 的瓦片图层。

2024-07-11 15:37:14 1090

原创 前端开发工具

Ramda.js:一款实用的 JavaScript 函数式编程库,与其他函数式的库相比,Ramda 的目标更为专注,专门为函数式编程风格而设计,更容易创建函数式 pipeline、且从不改变用户已有数据。它支持8种图表类型,每种方式都具有动态效果并且可定制。一个流行的 JavaScript 数据可视化库,用于创建交互式的数据图表、地图等可视化效果,提供了一系列的 API 和工具。一个轻量级的 JavaScript 库,主要用于处理移动设备上的触摸事件,提供了一种简单易用的方式来创建复杂的触摸交互体验。

2024-07-11 09:09:28 835

原创 element-plus el-table点击当前行和划过展示鼠标

在 Element Plus 的 el-table 组件中,设置滑过行时鼠标的样式可以通过 CSS 来实现。你可以使用 CSS 的 cursor 属性来定义鼠标悬停时的样式。这段 CSS 会应用到你的 el-table 中的每一行(el-table__row),当鼠标滑过时会显示为指定的光标样式。首先,在你的 Vue 组件的。

2024-07-10 08:57:15 571

原创 前端判断场景和方式

ElMessage.error(‘数据库操作出现错误,请联系技术支持!// 详细记录错误信息以便后续排查。

2024-07-10 08:43:19 452

原创 Python 中,NumPy 的数组操作

数据分析和预处理:对大量的数据进行清洗、筛选、转换等操作,例如去除异常值、标准化数据等。机器学习和深度学习:对特征数据进行操作,如特征缩放、矩阵运算等。科学计算和模拟:在物理、化学、生物等领域进行数值计算和模型模拟。图像和信号处理:处理图像的像素值、音频或视频的信号数据。

2024-07-09 10:18:34 324

原创 Python 中,NumPy 的数组创建

科学计算:在数学、物理、工程等领域进行数值计算和模拟,例如求解线性方程组、数值积分、微分方程等。数据分析和处理:处理大规模的数据,进行数据清洗、转换、统计分析等操作。机器学习和深度学习:作为数据的基本表示形式,用于训练模型和处理特征。图像处理:存储和操作图像的像素值。

2024-07-09 10:13:27 195

原创 Python numpy 应用之 topn

在 Python 中,NumPy 是一个强大的数值计算库。下面是一个使用 NumPy 实现 TopN 功能。数据分析和数据挖掘:在处理大量数据时,快速找出数据中的前 N 个最大值或最小值,以发现关键的特征或异常值。性能优化:在一些算法中,通过先获取前 N 个值,可以减少后续计算的复杂度。图像处理:在图像数据处理中,找出像素值的前 N 个最大或最小值。排序和筛选:对数据进行初步的筛选和排序,以便进一步处理和分析。推荐系统:例如从众多的商品评分中找出前 N 个最受欢迎的商品。

2024-07-08 10:46:27 143

原创 JS重复字符串去除

最后通过遍历obj的属性,将属性名(即不重复的字符)拼接成新的字符串str1。如果该属性不存在(即该字符首次出现),就将其添加到新字符串newStr中,并在对象中设置相应属性为 1。\1):是一个正向肯定预查,它表示在当前位置右侧的文本中,必须存在与前面捕获到的分组(即(.)匹配到的字符)相同的字符。new Set(str)会创建一个 Set 对象,Set 中的元素是唯一的,自动去除了重复字符。遍历字符串中的每个字符,使用indexOf方法检查该字符是否首次出现在新字符串newStr中。

2024-07-08 09:46:59 907

原创 python 基于函数的API设计,理解接口与实现分离

在 Python 中,基于函数的 API 设计中实现接口与实现分离是一种良好的编程实践,它可以提高代码的可维护性、可扩展性和可读性。通过这种方式,实现了接口与实现的分离,符合软件工程中的开闭原则(对扩展开放,对修改关闭),有助于构建更健壮和可扩展的代码。接口:可以理解为一组定义好的函数签名,这些函数签名描述了函数的名称、参数以及返回值的类型,但不包含具体的实现逻辑。当需要修改某个功能的实现时,只需要在实现模块中进行修改,而不会影响到使用接口的其他部分代码。使得代码结构更加清晰,易于理解和维护。

2024-07-05 15:15:13 319

原创 Python 函数递归

1. 动态规划问题:在一些需要逐步求解子问题并利用其结果的动态规划场景中,递归可以帮助直观地表达问题的分解和求解过程。2. 遍历具有递归结构的数据:如递归定义的二叉树、链表等数据结构的遍历和操作。

2024-07-05 15:12:26 262

原创 python 循环计算阶乘函数

定义了一个名为 factorial 的函数,它接受一个整数 n 作为参数。通过一个循环从 1 到 n ,依次将当前的数字与之前的结果相乘,最终得到 n 的阶乘。

2024-07-05 15:07:31 281

原创 vue监听数据时 newValue, oldValue操作处理

如果 newEditTableVariables 是一个复杂的对象,确保在对象内部属性发生变化时,使用 Vue 提供的方法(例如 Vue.set() 或数组的变异方法)来进行修改,以确保响应式系统能够正确检测到变化。要解决 newVal 和 oldVal 一样的问题,并将新更改的数据存入 differenceArray 数组,可以使用 Vue 的 watch 选项中的 deep: true 来深度监听对象的变化。接收两个参数:newValue 表示变化后的新值,oldValue 表示变化前的旧值。

2024-07-05 08:50:00 1297

原创 js 间隔取消

这样,就可以实现间隔的启动和取消。在这个示例中,通过递归调用 startTimeout 函数,并在每次调用时设置一个新的 setTimeout 来模拟间隔执行。另外,也可以使用 Node.js 中的 setImmediate 或 process.nextTick (在特定的 Node.js 环境中)来实现类似的效果,但它们的使用场景和行为与上述方法略有不同。除了上述使用 setInterval 和 clearInterval 的方法,还可以使用 setTimeout 来模拟间隔执行的效果,并在需要时取消。

2024-07-04 09:59:23 433

原创 js 深度对象筛选器

要实现 JavaScript 深度对象筛选器,可以使用 filter() 方法结合自定义的过滤函数来处理对象数组。然后,使用 filter() 方法将这个过滤函数应用到 users 数组上,它会遍历数组中的每个用户对象,并将满足条件的用户对象添加到新的 filteredUsers 数组中。如果过滤条件更加复杂,例如涉及多个属性的判断或者嵌套对象的条件,可以根据具体需求在过滤函数中编写相应的逻辑。不过,对于一般的情况,原生的 filter() 方法已经能够满足大多数需求,并且具有良好的可读性和简洁性。

2024-07-04 09:58:07 1225

原创 React Navigation 和 Expo Router

React Navigation 是 React Native 社区最常用的导航库,其具有高度可定制性且性能良好的特性。它提供了一系列导航器(如堆栈导航器、标签导航器、抽屉导航器等),可以满足绝大多数的页面导航需求。Expo Router 是 Expo 官方最新发布的路由库,它是基于 React Navigation 的再次封装,简化了很多基本的操作,比如不再需要每次在页面中显示的调用具体导航器,只需要在应用的入口配置好路由映射表即可。

2024-07-03 09:16:18 678

原创 TypeScript使用

在TypeScript中,类型保护(Type Guard)是一种技术,可以帮助您在代码中对变量的类型进行明确判断,以便更安全地进行类型转换和操作。通过类型保护,您可以告诉TypeScript在特定条件下变量的类型是什么,从而避免潜在的类型错误和运行时异常。通过使用类型保护,您可以让TypeScript更好地理解代码中变量的类型,并做出相应的推断和检查,从而减少类型错误的发生。

2024-07-03 08:59:19 268

原创 Python 的矩阵对象

矩阵对象在Python中通常通过NumPy库中的numpy.array来表示和操作。

2024-07-02 09:06:52 605

原创 前端在for循环中使用Element-plus el-select中的@click.native动态传参

handleEdit(index, row): 处理编辑操作的方法,传入索引和行数据。changeTableSelect(item, index, writeMask, nodeId): 处理下拉选择框选中事件的方法,传入选项、索引、写权限和节点ID。

2024-07-02 09:00:27 768

原创 Python用torch.random.choice从张量中抽取随机样本

在这个示例中,我们从张量x中以概率均匀地抽取3个不重复的样本。您可以根据需要调整抽样数量和替换参数。通过这样的步骤,您就可以使用torch.random.choice从PyTorch张量中抽取随机样本。torch.random.choice方法支持多维张量。您可以在多维张量上使用torch.random.choice来从中抽取随机样本,只需稍微调整抽样的方式。

2024-07-01 09:03:07 930

原创 ES module 工作原理浅谈

最后的步骤是实例化,JavaScript引擎生成一个模块环境记录,它管理module record的变量,然后把内存里的所有导出的变量链接起来。这意味着在实例化阶段,它会首先设置所有没有依赖的模块的导出,然后再设置这些模块的导入。值得注意的是,ES module使用的是实时绑定,也就是说,导出模块和导入模块都指向同一片内存地址。当另一个模块需要导入暂停执行的模块时,ES模块系统会返回一个接口对象,该对象是一个空对象,只包含导出的接口,而真正的内容将在依赖的模块执行完毕后被添加到该对象中。

2024-07-01 08:49:44 402

原创 Element-plus点击当前行之后获取数据显示跟随行数据

在这个更新后的示例中,我们通过使用el-popover组件来在当前行下方显示数据,同时在handleRowClick方法中动态计算并设置el-popover的位置,使其显示在当前点击行的下方。在以上示例代码中,您可以看到如何在外层的 el-table 中设置了关键属性,并在内层的 el-table-column 中设置了展开行的插槽。通过这样的设置,您可以实现展开行的功能。通过这种方式,当用户点击表格的某一行时,会在当前行的下方显示相应的数据信息,实现了在当前行下方显示数据的效果。

2024-06-29 10:11:39 737

uniapp打包流程详细介绍

eg:云打包 流程 1.Android 版本 使用 自有证书 2.Android 包名 :com.test.test 3.证书别名:test 4.证书私钥密码:123456 5.证书文件 路径:D:/tool/打包/hbuilder.jks //文件在D盘的tool 里面 注意:去掉广告 eg:发布 wgt, apk 流程 wgt: 1.修改manifest 里面 应用版本名称 和 应用版本号 2.hbuilderx 选择 发行 --> 原生app 制作应用wgt包 3.发布 wgt 包到服务器,供下载 apk: 1.修改manifest 里面 应用版本名称 和 应用版本号 2.hbuilderx 选择 发行 --> 原生app 本地打包 --> 生成本地打包app资源 3.使用 android studio build 直接选择打包成 release包,生成文件格式apk 4.发布 apk 文件包到服务器 ,供下载

2024-05-24

空空如也

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

TA关注的人

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