Vue3案例教程
文章平均质量分 82
本专栏列出一些vue3开发的案例,循序渐进,增强学习。作为代码库,加快开发进程。
还是大剑师兰特
曾是美国普渡大学计算机研究生,现为GIS领域高级前端开发工程师。深耕openlayers、leaflet、cesium、mapbox、echarts、threejs、webgl、canvas、svg等技术,目前正研究GIS大模型在低空经济领域的应用,拥有两项GIS方面的专利。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Vue3中vue-cropper详解与使用示例
本文介绍了vue-cropper图片裁剪组件在Vue 3中的使用方法。主要内容包括:1) 安装vue-cropper@next版本;2) 核心API说明,包含常用配置属性、事件和方法;3) 提供可直接运行的Composition API示例代码,实现图片上传、裁剪、旋转、缩放及结果获取功能;4) 可选全局注册方式;5) 常见应用场景如头像裁剪(1:1)和封面图(16:9)的配置技巧。该组件支持实时预览、固定比例裁剪等特性,适合需要前端图片处理的Vue项目。原创 2026-04-13 00:00:00 · 1695 阅读 · 2 评论 -
Vue3中v-viewer详解与使用
v-viewer 是 Vue 3 的图片预览组件,支持缩放、旋转、全屏等功能,提供指令式、组件式和 API 三种调用方式。 安装: npm install v-viewer@next viewerjs --save 核心功能: 指令式:容器添加 v-viewer 自动预览内部图片 组件式:通过 <viewer> 标签自定义布局 API调用:直接通过代码触发预览 配置灵活:支持全局默认配置和局部覆盖,可自定义工具栏、动画、键盘操作等。提供 ready、show 等事件和 view()、zoom()原创 2026-04-12 08:00:00 · 882 阅读 · 9 评论 -
Vue3 Mixin 与 Vue2 Mixin 核心区别
Vue3与Vue2的Mixin机制存在本质差异:Vue2中Mixin是主流复用方案,而Vue3将其降级为兼容性方案。主要区别体现在:1)官方推荐地位不同,Vue3明确推荐使用Composition API替代;2)Vue3合并规则更严格;3)全局Mixin在Vue3中被明确不推荐;4)与<script setup>语法不兼容,需使用双脚本写法;5)Mixin的缺陷在Vue3中被放大。最终结论:Vue3新项目应完全放弃Mixin,全面转向Hooks实现逻辑复用。原创 2026-04-11 00:00:00 · 579 阅读 · 11 评论 -
Pinia介绍及Vue3配置示例
Pinia:Vue新一代轻量状态管理方案 Pinia是Vue官方推荐的状态管理库,专为Vue 3设计,同时兼容Vue 2。相比Vuex,Pinia具有更简洁的API设计(去除mutations)、原生TS支持、模块化架构和极致的轻量化(仅1KB)。核心功能包括: 定义Store:通过defineStore创建状态仓库,支持选项式和组合式两种写法 状态管理:包含state(状态)、getters(计算属性)和actions(同步/异步方法) 组件使用:支持直接修改、$patch批量更新,需用storeToRe原创 2026-04-10 16:19:58 · 942 阅读 · 1 评论 -
pinia-plugin-persistedstate详解与Vue3使用示例
摘要: Pinia插件pinia-plugin-persistedstate是Vue3生态中实现状态持久化的主流方案,通过将Pinia状态自动同步到本地存储(如localStorage),解决页面刷新后状态丢失问题。其核心原理包括状态监听、序列化存储及初始化恢复,支持全局与Store级配置。提供多种配置项(如存储键名、字段过滤、自定义序列化等),兼容Options/Setup两种Store风格,并支持多存储策略。最佳实践包括按需持久化字段、敏感信息处理及存储介质选择,同时提供TypeScript支持。常见问原创 2026-04-10 16:14:11 · 842 阅读 · 0 评论 -
Vue3单元测试工具对比与示例
Vue 3测试工具对比与最佳实践 Vue 3项目中,Vitest(搭配@vue/test-utils)是官方推荐的单元测试工具,适合快速验证组件逻辑和函数;Cypress则更擅长组件交互测试和E2E测试,提供真实浏览器环境。 核心差异: Vitest:基于Vite,毫秒级运行,支持模拟DOM,适合纯逻辑测试 Cypress:真实浏览器操作,调试体验优秀,适合UI和业务流程验证 推荐方案: 新项目优先选择Vitest进行单元测试 关键组件和E2E流程补充Cypress测试 配置示例展示了两种工具的基础用法 结原创 2026-04-08 08:30:00 · 568 阅读 · 0 评论 -
.prettierrc 典型配置(通用版)
本文提供了Prettier代码格式化工具的通用配置方案。包含完整版标准配置(推荐)和极简版配置,详细说明了printWidth、tabWidth等核心参数的作用及推荐值。同时介绍了配套使用方法:安装Prettier、创建忽略文件、添加格式化命令。该配置适用于Vue/React/TS/JS等前端项目,能有效统一团队代码风格,解决格式冲突问题。建议直接采用完整版配置,配合prettierignore文件,通过npm run format命令一键格式化整个项目。原创 2026-04-07 08:30:00 · 892 阅读 · 0 评论 -
Vitest单元测试教程
Vitest 是基于 Vite 的极速测试框架,兼容 Jest API,配置简单且性能优异。本文提供完整指南:1) 安装 Vitest 及常用测试依赖;2) 配置测试环境、文件匹配规则和覆盖率;3) 编写测试用例示范基础断言、异常处理和异步测试;4) 详解 Mock 功能(函数、模块、定时器);5) Vue 组件测试示例;6) 运行测试及查看覆盖率的命令。最佳实践包括合理命名测试文件、用例隔离、专注测试行为而非实现细节。通过监听模式、UI 界面和覆盖率报告,开发者可高效构建可靠的测试体系。原创 2026-04-08 00:00:00 · 514 阅读 · 0 评论 -
Vite + Vue 3 一体化开发调试插件:vite-plugin-vue-devtools
**`vite-plugin-vue-devtools`** 是 Vue 官方为 **Vite + Vue 3** 项目打造的一体化开发调试插件,它将新一代 Vue DevTools 直接内嵌于 Vite 开发服务器,**无需安装浏览器扩展**,即可提供远超传统工具的调试、监控与导航能力。原创 2026-04-07 00:00:00 · 718 阅读 · 3 评论 -
pnpm format 什么作用
摘要: pnpm format是pnpm项目中用于一键格式化代码的命令,基于Prettier实现。它通过prettier --write .自动统一代码风格(缩进、引号、空格等),解决多人协作时的格式混乱问题。该命令由create-vue创建的package.json预设,支持全项目格式化,典型效果是将杂乱代码转为标准格式。开发时建议先执行pnpm format再编码,若报错需检查Prettier安装,可通过.prettierignore排除特定文件。原创 2026-04-06 08:30:00 · 396 阅读 · 13 评论 -
接口参数:Query、Body、Path 区别 + 完整参数类型
本文清晰解析了HTTP接口的三大核心参数:Path、Query和Body,以及四种补充参数(Header、Cookie、Form、File)。Path参数用于资源定位,必须包含在URL路径中;Query参数位于URL问号后,用于查询过滤;Body参数存放于请求体,适合提交大量或敏感数据。文章通过对比表格展示三者的位置、用途、安全性和数据量差异,并提供实用规则:GET请求用Path+Query,POST/PUT用Path+Query+Body,认证信息放Header,隐私数据必须用Body传输。最后强调文件上原创 2026-04-04 08:00:00 · 612 阅读 · 14 评论 -
RESTful 接口 + 实际开发通用规范
本文总结了RESTful接口开发的通用规范,提供了各HTTP方法的参数使用指南:GET用于查询资源(仅Path/Query参数),POST用于创建资源(主要数据放Body),PUT全量更新资源,PATCH局部更新,DELETE删除资源。强调安全规范:敏感信息不放URL,文件上传用POST+form-data,操作资源必须带Path ID。提供了极简记忆口诀(GET-Path+Query、POST-Path+Body等)和5条安全小规则(密码放Header/Body、GET不修改数据等),可直接应用于实际开发原创 2026-04-04 00:00:00 · 508 阅读 · 3 评论 -
unplugin-auto-import介绍与使用
unplugin-auto-import是一款跨构建工具的自动导入插件,支持Vite、Webpack等主流工具,可自动导入Vue、React等库的API(如ref/useRouter)而无需手动引入。它提供TS类型支持、ESLint兼容配置,并能自动生成声明文件和全局变量配置。安装后通过简单配置即可在代码中直接使用API,大幅简化开发流程。支持精确控制导入规则、本地文件自动导入等功能,与unplugin-vue-components等插件完美兼容。原创 2026-04-03 08:00:00 · 681 阅读 · 2 评论 -
EventBus核心方法用法
事件总线(EventBus)是一种用于跨组件/页面/模块通信的解决方案,核心方法包括Bus.on(监听事件)、Bus.emit(触发事件)和Bus.off(取消监听)。创建全局Bus实例后,通过on订阅事件,emit发布事件传递数据,off在组件销毁时取消监听以避免内存泄漏。使用时需注意事件名一致、避免匿名函数、及时销毁监听。原生JS也可实现类似功能。适用于兄弟组件传值或无关联模块间的通信场景。原创 2026-04-03 00:00:00 · 920 阅读 · 0 评论 -
vite-plugin-svg-icons作用详解
摘要: vite-plugin-svg-icons 是 Vite 生态中用于 SVG 图标自动化管理的插件,通过自动扫描指定目录下的 SVG 文件,生成合并后的 SVG Sprite 雪碧图,并以 <symbol> 形式注入页面。其核心优势包括: 性能优化:减少 HTTP 请求,内置 SVGO 压缩,支持按需加载。 开发提效:组件化调用(如 <SvgIcon name="home" />),支持热更新和 TypeScript 类型提示。 灵活定制:可通过 CSS原创 2026-04-02 10:00:00 · 825 阅读 · 11 评论 -
vitejs/plugin-legacy 作用与使用方法
Vite官方插件@vitejs/plugin-legacy提供旧版浏览器兼容方案,支持现代ES语法开发的同时生成兼容IE11等旧浏览器的代码。该插件会在生产构建时自动创建两套代码包:现代ESM包(支持新浏览器)和转译后的旧版包(含Babel转译和SystemJS模块),并智能注入polyfill。通过配置browserslist目标、自定义polyfill等选项,可灵活适配不同兼容需求。使用时需注意该插件仅在生产环境生效,会增加构建体积,并提供import.meta.env.LEGACY环境变量用于兼容逻辑原创 2026-04-02 08:45:00 · 665 阅读 · 5 评论 -
为什么要用 import.meta.glob 加载 SVG 图标库
本文介绍了Vite中import.meta.glob的用途和优势,它是一种静态资源批量导入语法。传统手动导入SVG图标需要逐行编写import语句,而使用import.meta.glob可以一键自动导入指定目录下的所有匹配文件,生成文件路径到模块的映射对象。其核心优势包括:支持批量导入、编译时静态分析、通配符匹配和懒加载优化性能。文中还提供了实际项目中的完整用法示例,展示如何将SVG图标处理为名称-路径的格式。import.meta.glob特别适用于图标库等需要批量处理静态资源的场景,能有效解决手动导入繁原创 2026-04-01 22:34:54 · 490 阅读 · 10 评论 -
vite-plugin-compression 作用与使用方法
摘要: vite-plugin-compression 是 Vite 的预压缩插件,通过打包时生成 Gzip/Brotli 压缩包,减少 60%-80% 资源体积,提升加载速度。支持多算法、文件过滤等配置,三步即可集成:安装插件、配置压缩参数(如算法、阈值)、验证输出。生产推荐双算法并行(Gzip+Brotli),需搭配 Nginx 等开启静态压缩支持。注意保留源文件、过滤小文件,避免反向优化。核心价值在于降低服务器压力,提升传输效率。原创 2026-03-31 08:00:00 · 611 阅读 · 0 评论 -
gzip,brotliCompress,deflate三种压缩算法对比,vue3最适合用哪种
本文对比了三种主流压缩算法(gzip、Brotli、deflate)的核心特性与适用场景。gzip兼容性最佳,压缩比60%-80%;Brotli压缩比最高(70%-90%),但仅支持现代浏览器;deflate无校验机制,实际应用较少。针对Vue3项目,推荐Brotli+gzip双压缩方案(Vite生态标配),既优化性能又保证兼容性。配置示例展示了如何通过vite-plugin-compression实现双压缩,建议根据项目需求选择:极致性能选Brotli,兼容优先选gzip,Vue3+Vite项目推荐双开方原创 2026-03-31 00:00:00 · 870 阅读 · 0 评论 -
vueup/vue-quill 详细介绍(Vue3 富文本编辑器)
摘要: vueup/vue-quill 是专为 Vue 3 设计的 Quill 富文本编辑器封装组件,提供完整的富文本编辑功能(加粗、列表、图片等),支持双向绑定(v-model)、Composition API 和 TypeScript。其核心特性包括轻量化、模块化配置、双主题(snow/bubble)及丰富的事件系统。通过简单安装和注册即可快速集成,支持自定义工具栏和扩展第三方模块(如图片上传、表情符号)。示例代码展示了基础用法、配置选项及与 Vue 3 的深度结合,是 Vue 3 生态中高效、可定制的原创 2026-03-30 08:00:00 · 1918 阅读 · 4 评论 -
将 Utils.js 挂载为全局(window.Utils.xx)完整配置方案
本文提供了将Utils.js工具函数挂载为全局变量的完整方案,适用于三种场景:原生JS、Webpack和Vite项目。核心步骤包括:1)在Utils.js中定义工具对象并挂载到window;2)原生项目直接script引入;3)Webpack项目需配置expose-loader;4)Vite项目只需在入口文件手动挂载。所有方案都确保全局可通过window.Utils调用工具方法,并提供了验证方法。原创 2026-03-30 00:00:00 · 378 阅读 · 1 评论 -
Vue3 + Element Plus 日期选择器:开始 / 结束时间,结束时间不超过今天
本文提供了两种实现日期选择限制的Vue3+Element Plus解决方案: 独立日期选择器方案 使用两个el-date-picker分别选择开始/结束时间 结束时间限制:不得早于开始时间且不得超过当天 提供disabledStartDate和disabledEndDate逻辑控制 范围选择器方案 单个el-date-picker设置type="daterange" 统一限制选择区间不得超过当天 两种方案均支持YYYY-MM-DD格式输出,代码可直接集成到项目中。核心通过disabled原创 2026-03-23 22:04:37 · 773 阅读 · 2 评论 -
Vue3 报错:computed value is readonly 解决方案
Vue3 computed只读报错解决方案 当出现"computed value is readonly"错误时,说明直接修改了只读的计算属性。两种解决方案: 修改原始数据(推荐):计算属性基于原始响应式数据,清空原始值即可自动更新。 使用可写computed:通过get/set方法实现双向绑定。 核心原则:计算属性是只读的,应通过修改源数据或使用可写computed来实现数据变更。清空场景建议直接操作原始ref/reactive数据,避免直接修改computed属性。原创 2026-03-21 09:00:00 · 314 阅读 · 8 评论 -
Vue3 nextTick 详细用法+示例
Vue.js的nextTick是处理异步DOM更新的核心API。它的主要作用是等待Vue完成DOM更新后执行回调函数,常用于需要操作更新后DOM的场景。文章详细介绍了nextTick的核心概念、Vue3中的两种使用方式(组合式API和选项式API),并提供了多个实用示例,如列表自动滚动、输入框自动聚焦等。关键知识点包括:必须使用nextTick的场景(修改数据后需要操作最新DOM)、Vue异步更新的原因,以及推荐优先使用await nextTick()的写法。通过nextTick可以确保在正确的时机操作更新原创 2026-03-20 00:00:00 · 662 阅读 · 13 评论 -
Vue3 中 computed(计算属性)完整使用指南
摘要: Vue3的computed是响应式计算属性,基于依赖数据自动计算新值并缓存结果,提升性能。核心特性包括依赖追踪、缓存机制和两种写法(只读/可写)。组合式API推荐使用computed(() => {})定义只读属性,或通过get/set实现可写属性。与methods相比,computed在依赖不变时复用缓存,适合频繁计算场景(如字符串拼接、数值统计、数据过滤)。选项式API兼容Vue2写法。注意:依赖需为响应式数据,避免异步操作或副作用。典型应用如购物车总价计算,通过响应式依赖自动更新结果。原创 2026-03-19 08:00:00 · 1690 阅读 · 4 评论 -
Vue3 按钮切换示例(启动 / 关闭互斥显示)
Vue3 按钮切换示例摘要 这个Vue3示例展示了如何实现两个互斥按钮(启动/关闭)的切换功能。核心要点: 状态控制:使用ref声明isClosed响应式变量,初始为true显示启动按钮 互斥显示:通过v-if和v-else确保只显示一个按钮 切换逻辑:点击按钮调用switchStatus函数,通过取反isClosed值实现状态切换 样式区分:启动按钮为蓝色,关闭按钮为红色 代码简洁高效,完整演示了Vue3的组合式API和响应式特性,适合作为基础交互组件使用。原创 2026-03-18 08:00:00 · 184 阅读 · 2 评论 -
Vue3 中的 defineExpose 完全指南
defineExpose是Vue3组合式API中<script setup>语法糖的专用编译宏,用于主动暴露子组件的属性和方法给父组件访问。在<script setup>默认封闭的情况下,通过defineExpose可选择性地暴露成员,父组件通过ref获取子组件实例后即可调用。它支持TypeScript类型注解,常用于表单操作、组件通信等场景,需注意仅暴露必要成员且确保组件挂载完成后再访问。与defineProps和defineEmits共同构成了Vue3组件通信的完整方案。原创 2026-03-17 08:30:00 · 655 阅读 · 5 评论 -
Vue3中 ref 和 reactive 核心区别 + 使用 + 完整示例
Vue3中ref和reactive的核心区别与用法: ref支持所有数据类型(基本类型+对象/数组),需用.value操作;reactive仅支持对象/数组,直接操作无需.value 基本类型必须用ref,对象/数组推荐用reactive(代码更简洁) 模板中两者都不需要.value,JS中ref必须加.value ref可直接重新赋值,reactive只能修改属性,直接赋值会丢失响应式 选择原则:基本类型用ref,对象数组用reactive,不确定时优先选ref原创 2026-03-16 08:30:00 · 1210 阅读 · 2 评论 -
Vue3 权限系统(Pinia + 登录接口 + 权限刷新 + 路由守卫 )
摘要:本文提供了一套完整的Pinia+权限控制解决方案,包含登录接口、路由守卫和持久化存储。核心功能包括:1)通过Pinia存储用户信息、角色和权限;2)路由守卫实现登录校验、角色和细粒度权限控制;3)持久化存储确保刷新不丢失权限;4)提供三种权限控制方式(登录验证、角色验证和权限码验证)。代码结构清晰,包含用户仓库、路由配置、API模拟和登录页面示例,可直接集成到项目中实现完善的权限管理系统。原创 2026-03-17 00:00:00 · 424 阅读 · 6 评论 -
Vue3 页面权限控制实战示例(路由守卫 + 权限判断)
Vue3轻量级权限控制方案 核心思路:通过路由元信息标记权限页面,在全局守卫中校验权限。仅需3步实现: 在路由meta中标记需要权限的页面(requiresAuth:true) 在全局路由守卫中校验登录状态和角色权限 权限不足时跳转登录/403页 实现要点: 支持三种常见场景:登录访问、角色限制、权限码控制 可搭配Pinia状态管理使用 提供403无权限页面模板 优势:开箱即用、配置简单、只影响特定页面,适合大多数中小型项目的权限控制需求。原创 2026-03-16 00:00:00 · 1023 阅读 · 4 评论 -
Vue3 通用可复用动态插槽组件(终极版)
本文介绍了一个高度可复用的DynamicSlotBox通用插槽组件,具有以下特点:1) 支持任意插槽名称配置;2) 提供默认内容显示;3) 支持作用域传参;4) 可循环批量渲染插槽;5) 开箱即用无需修改组件代码。通过表单页面和列表页面两个示例,展示了该组件在不同场景下的灵活应用,包括动态插槽渲染、作用域数据传递等功能。该组件优势在于一次封装全局复用,支持各种业务场景,同时提供样式自定义和友好的默认提示。原创 2026-03-15 00:00:00 · 504 阅读 · 12 评论 -
Vue3 插槽完整实战(具名插槽 + 动态插槽)
Vue3插槽实战指南:包含具名插槽、动态插槽和作用域插槽的完整实现。子组件定义多个插槽(固定具名、动态循环、作用域和默认插槽),父组件通过#插槽名语法匹配填充内容。动态插槽使用v-for和:name实现灵活配置,作用域插槽通过:data实现子传父数据。提供可直接运行的代码示例,涵盖插槽的核心用法和动态指令进阶方案,适用于表单、弹窗等高复用组件场景。原创 2026-03-14 19:53:55 · 718 阅读 · 10 评论 -
Vue3 全局公共函数完整方案(创建、挂载、引用、使用)
本文提供了一套企业级全局函数解决方案,包含完整目录结构、创建方法、全局注册和使用规范。方案采用模块化设计,将工具函数按功能分类存放(如地图工具、数据过滤等),通过统一的index.js导出,并在main.js中全局注册或配置路径别名。详细介绍了三种页面使用方法(直接import、全局挂载、选项式API),并明确了工具函数编写规范和使用场景(如数据格式化、地图处理等)。最后提供可直接使用的模板代码,实现工具函数的高效复用和团队协作规范化。原创 2026-03-14 19:46:01 · 661 阅读 · 16 评论 -
vue3 hooks文件夹中文件类型、命名规范、引用方式
Vue3中hooks文件夹用于存放组合式函数(Composables),遵循高内聚、低耦合原则。主要存放以use开头的函数,包括通用功能型(如防抖、存储操作)、业务逻辑型(如用户登录)、交互型(如滚动监听)和API请求型。命名需语义化且带use前缀,如useUser.js。示例展示了useStorage封装本地存储和useUser处理登录状态的实现,组件通过解构方式引入hook中的状态和方法。hooks应保持单一职责,避免放入组件或工具函数。原创 2026-03-13 00:00:00 · 622 阅读 · 3 评论 -
vue3中slot,template #名称 的详细说明和具体示例
Vue3中slot插槽是组件内容传递的核心方式,#是v-slot的语法糖。文章详细介绍了具名插槽、默认插槽和作用域插槽的使用方法: 具名插槽通过template #名称绑定子组件指定位置; 作用域插槽通过#名称="参数"接收子组件数据并自定义渲染; 默认插槽可省略#default直接使用。文中提供了可运行的完整示例,并强调语法糖只能用于template标签(默认插槽例外)等注意事项。通过插槽可以实现灵活的组件内容定制,是Vue组件复用的重要技巧。原创 2026-03-12 08:30:00 · 1282 阅读 · 3 评论 -
Pinia在Vue3中的应用部署与使用,包括持久化方案
摘要: Pinia是Vue3官方推荐的状态管理库,用于集中管理跨组件共享数据(如用户信息、全局配置等)。其核心优势包括:支持Composition API、无嵌套模块结构、内置TypeScript支持、体积小性能优。安装后需在main.js全局注册,通过defineStore创建仓库(含state、getters、actions)。组件中使用useStore访问状态,推荐通过actions修改数据,避免直接修改state。注意解构需用storeToRefs保持响应式,TS项目可添加类型注解。支持Vue De原创 2026-03-12 07:30:00 · 1068 阅读 · 4 评论 -
const { proxy } = getCurrentInstance() 的正确使用方法
Vue 3 中的 const { proxy } = getCurrentInstance() 用于替代 Vue 2 的 this,主要功能包括:访问全局属性/方法、操作 $refs、触发 $emit 事件等。使用时需注意:1) 必须在组件生命周期内同步获取实例;2) 异步场景需提前保存实例;3) 避免依赖 ctx 而应使用 proxy;4) 需做实例为空的兜底处理。典型应用场景包括调用全局 API、访问 DOM 元素和触发自定义事件等。开发中要特别注意生产环境和异步调用的兼容性问题。原创 2026-03-11 23:18:44 · 569 阅读 · 11 评论 -
vue3中如何使用 getCurrentInstance()
Vue 3中的getCurrentInstance()API用于在组合式API中获取当前组件实例,主要适用于<script setup>、setup()函数或组合式函数场景。该API允许访问组件底层属性如proxy(替代this)、appContext(全局配置)等,常用于封装通用工具函数。使用时需注意:必须在组件生命周期内同步调用,异步场景需提前保存实例;生产环境优先使用proxy而非ctx;应遵循Vue 3"无this"理念,避免业务代码滥用。典型应用包括访问$refs、原创 2026-03-11 23:04:47 · 667 阅读 · 1 评论 -
vue3+vite+JS,使用Echarts封装一个饼图,父子组件联动
Vue3 + ECharts 封装响应式饼图组件 实现思路: 基于 ECharts 封装饼图子组件,接收父组件传入的标题、宽高、数据等配置 通过 watch 监听数据变化自动更新图表 添加窗口 resize 监听实现自适应调整 关键代码: 子组件通过 defineProps 接收配置参数 使用 echarts.init() 初始化图表实例 监听 props 变化调用 setOption() 更新图表 窗口 resize 事件触发 resize() 方法 父组件动态修改数据验证响应式更新 技术亮点: 支持动态原创 2026-03-10 08:00:00 · 757 阅读 · 16 评论 -
vue3+vite+JS 封装多个组件批量按名字正则导出,install方法安装并使用示例
本文介绍了如何使用Vue3+Vite+JS封装多个自定义组件,并通过自动批量导出实现全局注册。主要内容包括: 项目结构设计:采用组件目录+统一导出文件(index.js)的方式组织代码 组件开发示例:展示了MyButton、MyInput、MyCard三个基础组件的实现 核心实现:利用Vite的import.meta.glob批量导入组件,通过正则匹配自动提取组件名 注册机制:为每个组件添加install方法,支持全局注册和按需引入 使用方式:提供了全局注册和局部引入两种组件使用方案 该方法通过自动化批量导原创 2026-03-09 20:54:44 · 788 阅读 · 6 评论
分享