先判断:这门课补的是哪一块能力

如果你已经能用 Vue 3 写页面、调接口、改别人的业务代码,但一遇到「公司要把通用组件抽成一套库」就不知道从哪下手,这门课针对的正是这个缺口。它不讲 Vue 的响应式原理,也不教你怎么写第一个 Hello World,而是把视角放在组件库作者这一侧:一个按钮、一组按钮、一个表单控件,从接口设计到样式组织到对外发布,中间要做哪些决定。

反过来说,如果你还没写过完整页面,或者对组件通信、插槽、v-model 这些日常写法还生疏,直接看这门课会比较吃力。它假设你已经具备 Vue 3 的常规开发经验,重点在「从会用组件到会造组件」这一步。

课程实际覆盖的工作场景

从目录结构看,内容是围绕一个自研 UI 组件库逐步展开的,大致落在几个真实场景上:

  • 基础控件怎么做:以 button 为例,讲清楚一个看似简单的组件,其 props 怎么定、事件怎么抛、不同尺寸和状态怎么用类名区分,而不是把样式写死在模板里。
  • 组合型组件怎么设计:像 buttonGroup 这类需要多个子组件协同、又不想让使用者手动传一堆状态的组件,怎么通过插槽、provide/inject 或上下文把父子关系理顺。
  • 样式方案怎么选:有一段专门讲 CSS 相关的组织方式。组件库最怕样式互相污染、使用者又改不动,这里的思路是如何让默认样式可控、又能被外部覆盖。

换个说法:学完之后,你应该能独立把一个反复出现在业务里的 UI 片段,抽象成有稳定接口、能被团队其他人直接引用的组件,而不是每次复制粘贴再改。

学完能独立做到什么

比较务实的预期是三点。第一,能自己设计一个组件的对外接口,包括该暴露哪些 props、哪些用插槽、哪些用事件,并且能说清楚为什么这么分。第二,能搭起一个组件库的基本工程结构,把组件、样式、类型声明拆开管理,而不是所有代码堆在一个文件里。第三,能处理组件被复用时最常见的那类问题——使用者想改样式、想加内容、想控制状态,作者端要留出哪些口子。

需要提醒的是,45 节左右的体量偏向「把关键问题讲透」,不是把每个组件从零到一全录一遍。它更像带你走一遍作者视角的决策过程,剩下的组件要你自己照着这个思路去补。

资料适合的基础和用法

适合已经在做 Vue 3 项目、想往组件库或基础设施方向走的开发者,尤其是团队里被安排去维护内部组件库的人。不太适合刚学完 Vue 基础语法、还没做过完整项目的阶段。

用法上建议不要顺着一路看完。先在目录里挑 button 这一节跟着做一遍,感受接口设计的分寸,然后回到自己项目里找一个被复用最多的组件,试着按课里的方式重写一遍。样式相关的那几节可以在你确实遇到覆盖或冲突问题时再回头对照,比一次性看完记得住。整套内容更适合当参考手册,而不是需要一次刷完的连续剧。

课程目录

课程目录35 集
  • Vue.js 3 高级编程:UI组件库开发 ????Vue.js 3???????��UI????? ?????? ??????Vue.js 3 UI????????????????????????????????????????????????????????????? ? ????? ??????Vue.js 3 UI??????????????????????????????????????? ?��????? ? Vue.js 3?????? ? UI??????????? ? ??????????? �γ�Ŀ¼ ? ?��? ??45?? ????button????????????.mp4
  • [66.3 MB] ui????? - ??8?? css ???CSS????????Z.mp4
  • [46.5 MB] ui????? - ??33?? buttonGroup?????????.mp4
  • [63.3 MB] ui????? - ??22?? button???block??D????.mp4
  • [20.6 MB] ui????? - ??26?? button???icon???.mp4
  • [63.9 MB] ui????? - ??27?? button???loading????.mp4
  • [61.5 MB] ui????? - ??31?? buttonGroup???.mp4
  • [27.5 MB] ui????? - ??18?? button???disabled????.mp4
  • [92.8 MB] ui????? - ??28?? button???loading??????.mp4
  • [69.5 MB] ui????? - ??34?? sass - deepMarge?????????.mp4
  • [61.6 MB] ??40?? sass - ?????????????????.mp4
  • [69.7 MB] ui????? - ??23?? button???border????.mp4
  • [41.0 MB] ??35?? sass - ???????????.mp4
  • [22.1 MB] ??42?? sass - ????????????.mp4
  • [48.4 MB] ui????? - ??4?? ????button????.mp4
  • [83.0 MB] ??41?? sass - ???????????????.mp4
  • [43.5 MB] ui????? - ??25?? button???circle???.mp4
  • [47.0 MB] ui????? - ??10?? sass ????block????.mp4
  • [38.7 MB] ??47?? button????????.mp4
  • [36.5 MB] ??49?? button??????????????.mp4
  • [95.5 MB] ui????? - ??15?? button??????????.mp4
  • [51.0 MB] ui????? - ??24?? button???size????.mp4
  • [39.2 MB] ui????? - ??9?? css ???????????.mp4
  • [27.9 MB] ??46?? ????button????????????.mp4
  • [60.0 MB] ui????? - ??20?? button???text????.mp4
  • [92.4 MB] ui????? - ??5?? ?????????????.mp4
  • [96.8 MB] ui????? - ??19?? button???hover????.mp4
  • [24.1 MB] ui????? - ??17?? button???round???.mp4
  • [16.5 MB] ??48?? button????????????????.mp4
  • [66.8 MB] ??43?? sass - ??????????????.mp4
  • [61.1 MB] ??38?? root - ??????????.mp4
  • [27.6 MB] ??39?? sass - ?????????.mp4
  • [33.3 MB] ui????? - ??30?? button???slot???.mp4
  • [13.3 MB] ui????? - ??7?? css ???????Z.mp4
  • [37.4 MB] ???????
  • 35 ??????????????? ?????? Vue.js?????? ??????? UI???? ѧϰ�ջ� ????Vue.js 3??????? ??????��UI????? ????UI??????? ???????? ????????????????