<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[BillKu的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/BillKu</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; BillKu]]></copyright><item><title><![CDATA[Vue3 给页面加拖拽分割线：五步曲]]></title><link>https://blog.csdn.net/BillKu/article/details/165241506</link><guid>https://blog.csdn.net/BillKu/article/details/165241506</guid><author>BillKu</author><pubDate>Sun, 13 Sep 2026 19:33:53 +0800</pubDate><description><![CDATA[假设现在有个的页面，你要给它加一条拖拽分割线。]]></description><category></category></item><item><title><![CDATA[Vue3 可拖拽分栏布局：两种实现方式详解]]></title><link>https://blog.csdn.net/BillKu/article/details/165240673</link><guid>https://blog.csdn.net/BillKu/article/details/165240673</guid><author>BillKu</author><pubDate>Sun, 13 Sep 2026 17:53:14 +0800</pubDate><description><![CDATA[基于（交接查询）和（样品接收）两份代码的对比整理。]]></description><category></category></item><item><title><![CDATA[Element Plus 的 el-tab-pane：lazy 的说明]]></title><link>https://blog.csdn.net/BillKu/article/details/164869518</link><guid>https://blog.csdn.net/BillKu/article/details/164869518</guid><author>BillKu</author><pubDate>Thu, 10 Sep 2026 18:22:06 +0800</pubDate><description><![CDATA[lazy。]]></description><category></category></item><item><title><![CDATA[并发请求 Promise.allSettled 代码示例讲解]]></title><link>https://blog.csdn.net/BillKu/article/details/164585420</link><guid>https://blog.csdn.net/BillKu/article/details/164585420</guid><author>BillKu</author><pubDate>Tue, 08 Sep 2026 11:27:14 +0800</pubDate><description><![CDATA[onError?onSuccess?// 然后调用三次维度示例1示例2示例3复用性无仅当前组件全局可用代码量稍多（每个结果独立 if）中等（定义+调用）调用简洁，但需维护工具函数可读性最好一般较好（需了解工具函数）维护成本低（局部修改）中（重复定义）低（统一修改）适用规模单处使用单组件多处使用多组件使用。]]></description><category></category></item><item><title><![CDATA[全局样式变量：CSS 自定义属性（--border-color）和SCSS 变量（$border-color）的说明]]></title><link>https://blog.csdn.net/BillKu/article/details/164565772</link><guid>https://blog.csdn.net/BillKu/article/details/164565772</guid><author>BillKu</author><pubDate>Tue, 08 Sep 2026 09:05:39 +0800</pubDate><description><![CDATA[两种方式都需要一次全局引入（CSS 变量是引入定义文件，SCSS 变量是引入变量文件或构建注入）。关键区别在于：CSS 变量定义一次，运行时全局可用，组件使用时不需额外导入。SCSS 变量默认需要按需导入（除非配置全局注入），但编译后无运行时开销。scss:root {/* 边框颜色 */scss创建scss未配置全局注入时，SCSS 变量需要手动导入，虽然可行但不够便捷。如果项目开始时就计划大量使用 SCSS 变量，建议尽早配置全局注入，以提升开发体验。]]></description><category></category></item><item><title><![CDATA[pinia Store的两种写法（Options 语法形式、Setup 语法形式）]]></title><link>https://blog.csdn.net/BillKu/article/details/164456584</link><guid>https://blog.csdn.net/BillKu/article/details/164456584</guid><author>BillKu</author><pubDate>Mon, 07 Sep 2026 12:37:55 +0800</pubDate><description><![CDATA[【代码】pinia Store的两种写法（Options 语法形式、Setup 语法形式）]]></description><category></category></item><item><title><![CDATA[vue3 字符串排序 localeCompare，确保排序为 “B01“, “B10“, “B2“]]></title><link>https://blog.csdn.net/BillKu/article/details/164403165</link><guid>https://blog.csdn.net/BillKu/article/details/164403165</guid><author>BillKu</author><pubDate>Sat, 05 Sep 2026 19:52:09 +0800</pubDate><description><![CDATA[这个表达式用于对进行自然排序（数字按数值大小，字母不区分大小写）。它返回一个值，供sort方法决定元素的先后顺序。]]></description><category></category></item><item><title><![CDATA[Store中关于重置的currentFetchPromises和currentAbortControllers]]></title><link>https://blog.csdn.net/BillKu/article/details/164359975</link><guid>https://blog.csdn.net/BillKu/article/details/164359975</guid><author>BillKu</author><pubDate>Fri, 04 Sep 2026 09:29:44 +0800</pubDate><description><![CDATA[那样，需要同时管理多个独立请求（按不同模块 ID 并发），那么就需要用。这样，同一时间只会有一个请求（因为只加载一个列表），那么用。写法是正确的，不要改成 Map。是单请求场景，所以保持原来的。多个并发请求 → Map，单个请求 → 单变量，]]></description><category></category></item><item><title><![CDATA[vue3中，nextTick与setTimeout的用法说明]]></title><link>https://blog.csdn.net/BillKu/article/details/164333846</link><guid>https://blog.csdn.net/BillKu/article/details/164333846</guid><author>BillKu</author><pubDate>Thu, 03 Sep 2026 15:20:05 +0800</pubDate><description><![CDATA[延迟极小，但在高频操作下，多余的宏任务可能影响响应流畅度（微乎其微，但存在）。”的目的，但它们在实现机制、语义清晰度和与 Vue 生态的融合度上有所区别。// ⏳ 等待分页组件更新完成，确保分页组件的微任务 change 已被拦截。专为 Vue 设计，明确表达“等待 Vue 完成本轮更新”，而。事件，这个触发过程一般发生在 Vue 的更新周期中，即在。处理“DOM 更新后执行”的场景，使用它更符合团队习惯。发生在更晚的宏任务中，同样能拦截，但多了一层延迟。更快恢复标志，减少不必要的状态滞后。]]></description><category></category></item><item><title><![CDATA[vue3 + element-plus 对话框滚动条回到顶部]]></title><link>https://blog.csdn.net/BillKu/article/details/164328965</link><guid>https://blog.csdn.net/BillKu/article/details/164328965</guid><author>BillKu</author><pubDate>Thu, 03 Sep 2026 11:05:48 +0800</pubDate><description><![CDATA[【代码】vue3 + element-plus 对话框滚动条回到顶部。]]></description><category></category></item><item><title><![CDATA[vue3 方法分层命名规则 query、fetch、get]]></title><link>https://blog.csdn.net/BillKu/article/details/164299170</link><guid>https://blog.csdn.net/BillKu/article/details/164299170</guid><author>BillKu</author><pubDate>Wed, 02 Sep 2026 15:54:46 +0800</pubDate><description><![CDATA[表示“获取”，也暗示异步操作，通常返回一个 Promise，resolve 后得到数据。：通常指发起一次查询（如数据库查询、HTTP GET 请求），并返回查询结果。：一般用于获取某个值或对象，可能是同步或异步，但核心是“返回数据”。]]></description><category></category></item><item><title><![CDATA[vue3静态渲染组件与动态渲染组件的区别，代码示例（使用＜component＞标签）]]></title><link>https://blog.csdn.net/BillKu/article/details/164289193</link><guid>https://blog.csdn.net/BillKu/article/details/164289193</guid><author>BillKu</author><pubDate>Wed, 02 Sep 2026 09:40:53 +0800</pubDate><description><![CDATA[代码示例：src\components\common\CommonApplySampleTable.vue。]]></description><category></category></item><item><title><![CDATA[样品录入代码分析：三层组件（父、子、孙）数据流设计的合理性和规范性]]></title><link>https://blog.csdn.net/BillKu/article/details/164288177</link><guid>https://blog.csdn.net/BillKu/article/details/164288177</guid><author>BillKu</author><pubDate>Wed, 02 Sep 2026 09:21:56 +0800</pubDate><description><![CDATA[问题改进建议孙组件直接改 props改用emit事件，由父组件修改数据子组件本地副本双向同步移除本地副本，直接操作 store 或通过事件请求修改多层 provide/inject使用 Pinia store 直接访问，或简化 provide/inject 层级使用注入函数通信改用标准的propsemits模式大量 watch 同步使用 computed 或 store 的 actions 直接操作，减少不必要的同步最终目标：保持单一数据源（store 或顶层组件状态），组件间通过。]]></description><category></category></item><item><title><![CDATA[el-table 使用 div 包裹后，表格滚动条显示的是浏览器的滚动条，不是 el-table 内置的滚动条，并且增加样品后，滚动条不会自动滚动到最底部（原因详细讲解）]]></title><link>https://blog.csdn.net/BillKu/article/details/164263577</link><guid>https://blog.csdn.net/BillKu/article/details/164263577</guid><author>BillKu</author><pubDate>Tue, 01 Sep 2026 16:44:38 +0800</pubDate><description><![CDATA[如果必须使用额外div包裹，关键措施是让包裹层具有确定高度并禁止其滚动，或者使用 Flex 布局让el-table获得正确高度。最推荐的做法仍然是避免不必要的包裹，但如果无法避免，按上述方案处理即可保证滚动条样式和自动滚动功能正常。]]></description><category></category></item><item><title><![CDATA[vue3 provide / inject 相关代码优化前后的对比说明]]></title><link>https://blog.csdn.net/BillKu/article/details/164260890</link><guid>https://blog.csdn.net/BillKu/article/details/164260890</guid><author>BillKu</author><pubDate>Tue, 01 Sep 2026 15:13:24 +0800</pubDate><description><![CDATA[您感觉“增加对导入资源的识别”是对的，但可以通过上述折中方式避免。核心是给 InjectionKey 加上类型，而是否在组件中显式使用类型别名则可根据团队风格选择。当前代码如果已经能正常工作和维护，不必强行调整；若看重长期维护性，建议至少在symbols.ts中定义类型别名并用于 InjectionKey。]]></description><category></category></item><item><title><![CDATA[VS Code代码片段实例代码]]></title><link>https://blog.csdn.net/BillKu/article/details/164252408</link><guid>https://blog.csdn.net/BillKu/article/details/164252408</guid><author>BillKu</author><pubDate>Tue, 01 Sep 2026 09:43:06 +0800</pubDate><description><![CDATA[【代码】VS Code代码片段实例代码。]]></description><category></category></item><item><title><![CDATA[Vue3代码分类划分]]></title><link>https://blog.csdn.net/BillKu/article/details/164250081</link><guid>https://blog.csdn.net/BillKu/article/details/164250081</guid><author>BillKu</author><pubDate>Tue, 01 Sep 2026 08:39:33 +0800</pubDate><description><![CDATA[的自然数据流，符合人类的阅读直觉。]]></description><category></category></item><item><title><![CDATA[TypeScript中，字符串字面量联合类型（Union Type）、enum的用法说明]]></title><link>https://blog.csdn.net/BillKu/article/details/164204070</link><guid>https://blog.csdn.net/BillKu/article/details/164204070</guid><author>BillKu</author><pubDate>Mon, 31 Aug 2026 09:14:01 +0800</pubDate><description><![CDATA[如果看重重构便利性，且团队习惯使用enum，可以继续使用enum，因为它的成员是真正的符号，VS Code 支持完善。如果希望避免enum的缺点（运行时开销、与 JS 互操作性等），又想拥有类似的符号化能力，强烈推荐 as const对象 + 类型别名模式。您可以根据项目实际情况和团队偏好选择。两种方式都能在 VS Code 中实现良好的重构体验。]]></description><category></category></item><item><title><![CDATA[从 Spring Boot 2.6 开始，默认的路径匹配器从 AntPathMatcher 切换到了 PathPatternParser 不允许路径变量跨斜杠匹配，即使使用正则 .+ 也不行]]></title><link>https://blog.csdn.net/BillKu/article/details/164168043</link><guid>https://blog.csdn.net/BillKu/article/details/164168043</guid><author>BillKu</author><pubDate>Sat, 29 Aug 2026 12:06:03 +0800</pubDate><description><![CDATA[不支持路径变量包含斜杠。改用查询参数传递uniqueCode，既解决了特殊字符问题，也使 API 更清晰、易维护。如果坚持路径风格且项目接受全局配置变更，可切换回，但需评估影响。]]></description><category></category></item><item><title><![CDATA[VS Code 或 TypeScript 服务缓存问题，重启 TypeScript 服务（最推荐）]]></title><link>https://blog.csdn.net/BillKu/article/details/163913553</link><guid>https://blog.csdn.net/BillKu/article/details/163913553</guid><author>BillKu</author><pubDate>Thu, 20 Aug 2026 11:38:58 +0800</pubDate><description><![CDATA[输入 TypeScript: Restart TS server。，输入 Volar: Restart Vue server。但这不是长久之计，建议通过重启 TS 服务解决根本问题。或其他类型文件中用同名的全局变量覆盖了组件上下文。如果还有问题，再尝试第二步。，问题出在 IDE 的缓存或类型推断上。没有暴露这个函数，所以不是暴露导致的错误。中正确定义（第 254-260 行）。或禁用并重新启用 Volar 扩展。，但 TypeScript 报错。事件（第 365 行）。在 VS Code 中按。]]></description><category></category></item></channel></rss>