如果你用 Vue 做过两三个项目,按钮、输入框、弹窗、菜单这些组件基本靠现成 UI 库解决,那这门「vue造轮子」值得先掂量一下自己的缺口。它讲的不是怎么用组件库,而是把组件库拆开,自己动手写一遍。写不出来,说明你对 Vue 的理解还停在使用层。
先自查:这几个问题你能答上来吗
不看源码、不查文档,试着回答:一个 Button 组件要支持哪些 props,怎么设计才不会越写越乱?父组件给子组件传值,子组件想改回去,为什么推荐用事件而不是直接改 prop?插槽默认内容、具名插槽、作用域插槽分别在什么场景用?v-model 在自定义组件上到底做了什么?
这些问题的答案不难查,但真正写组件时会卡住的地方往往不在这里,而在「边界」:点击态、禁用态、加载态、尺寸组合、事件透传、样式冲突。造轮子的过程,就是被这些边界反复教育的过程。如果你从没认真想过这些,这门课属于你。
它到底造什么轮子
课程围绕一套 Vue UI 框架的构建展开,按初级、进阶、高级三段推进。初级解决的是「单个组件怎么写得干净」:props 怎么定义、事件怎么抛、插槽怎么留口子、样式怎么做隔离和主题变量。进阶会碰到组件之间怎么组合、怎么让一组组件共享状态与配置,比如表单里的校验、布局容器与子项的配合。高级阶段进入更偏架构的层面,涉及组件库整体的组织方式、按需加载、以及怎么让写出来的东西别人也能用。
三个阶段不是三套独立内容,而是同一套框架不断加码。这也是它和零散看几篇组件教程的区别:散着看,你拿到的是一个个技巧;跟着一条线走,你拿到的是「一个组件库为什么长这样」的判断力。
配套练习怎么用
造轮子这类课,只看不写等于没学。比较实在的用法是:每讲一个组件,先关掉视频自己写一遍,写不出来再回头看。重点不是写出和示例一模一样的代码,而是搞清楚作者为什么这么切分,比如为什么把状态提到外面、为什么用 provide/inject 而不是一层层传。
另一个练法是反向拆解。拿你项目里正在用的某个组件,试着说出它的 props 和事件设计,再看看自己会怎么改。造轮子练的是设计决策,不是把 API 背下来。学完一个组件,顺手在自己的小项目里用一次,比做十遍示例都管用。
看完你应该能回答
- 一个可复用的 Vue 组件,props、事件、插槽三者的职责边界怎么划分?
- 为什么组件内部不直接修改传入的数据?v-model 在自定义组件上如何实现双向绑定?
- 多个组件需要共享配置或状态时,有哪几种方案,各自的代价是什么?
- 组件样式如何做到既隔离又不失灵活,主题切换的思路是什么?
- 如果让你从零组织一个组件库的目录和导出方式,你会怎么开始?
这些问题答不上来,就说明缺的正是这块。答得上来的部分,可以跳过对应阶段,不必从头看。缺什么补什么,才是这门课正确的打开方式。
vue造轮子
课程详情
课程详情
课程名称:vue造轮子
课程核心介绍
本课程将深入讲解Vue UI框架的构建,涵盖从初级到高级的全面知识。课程分为三个阶段:Vue UI框架-初级版、Vue UI框架-进阶版、Vue UI框架-高级版,旨在帮助学员逐步掌握Vue UI框架的设计与实现。
适合人群
- 对Vue框架有基础了解的开发者
- 希望提升UI组件开发能力的工程师
- 对前端架构和组件化开发有兴趣的学习者
学习收获
- 掌握Vue UI框架的基本原理和设计模式
- 能够独立开发高质量的Vue UI组件
- 提升前端开发效率和组件复用能力
课程亮点
- 理论与实践相结合,注重实战操作
- 逐步进阶,从基础到高级,全面覆盖Vue UI框架知识
- 丰富的案例和项目实战,提升学员实际应用能力
课程目录
Vue UI 框架-初级版
Vue UI 框架-进阶版
视频
07.单元测试与Mock
0203
0204
0205
0206
0207
0303
0304
0305
0403
0404
0405
0406.添加loading
0505
0506
0507
0508
0509
0602
0603
0604
0605
0606
0607
0702
0703
0704
0705
0706
0707
0708
0802
0803
0804
0805
0806
0902
0903
0904
0905
0906
0907
0908
0909
0910
0911
0912
0913
0914
1002
1003
1004
1005
1006
1007
1008
1009
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1202
1203
1204
1205
1206
1207
1208
1209
资料
01.测一测你的JavaScript、Vue基础
01.课程简介.md
02.课程介绍
01.课程简介.md
02.讲义.md
08.Vue造轮子第一课习题.md
08.Vue造轮子第一课习题[答案].md
09.关于轮子的面试题.md
03.体验、交互、sketch
01.课程简介.md
06.UI测试题.md
06.UI测试题[答案].md
04.框架雏形、单元测试、Mock数据
01.课程简介.md
05.单元测试、自动化测试、持续集成、NPM 发布包
01.课程简介.md
06.测试覆盖率
01.课程简介.md
07.升级的 table 组件
01.课程简介.md
08.Vuex的原理和用法
09.Datepicker 组件
01.课程简介.md
10.自制路由器
11.滚动组件
01.课程简介.md
02.代码.md
12.管理后台的设计思路
01.课程简介.md
Vue UI 框架-高级版
视频
0202
0204
0205
0206
0207
0303
0304
0305
0403
0404
0405
0406
0407
0505
0506
0507
0508
0509
0603
0604
0605
0606
0607
0608
0609
0610
0611
0702
0703
0704
0705
0706
0707
0802
0803
0804
0805
0806
0807
0902
0903
0904
0905
0906
0907
0908
0909
0910
0911
1002
1003
1004
1005
1006
1007
1009
1010
1011
1012
1102
1202
1203
1204
1302
1303
1304
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1602
1603
1702
1704
1705
1706
1707
1708
1709
1710
1802
1803
1804
1805
1806
1807
1808
1902
1903
1904
1905
1906
1907
课件
02.课程介绍
01.课程简介.md
09.关于轮子的面试题[答案].md
03.体验、交互、sketch
01.课程简介.md
02.讲义.md
06.UI测试题.md
06.UI测试题[答案].md
04.框架雏形、单元测试、Mock数据
01.课程简介.md
02.讲义.md
08.项目搭建.md
08.项目搭建[答案].md
05.单元测试、自动化测试、持续集成、NPM 发布包
06.省市区级联选择组件(上)
07.省市区级联选择组件(下)
01.课程简介.md
08.深入讲解Vue 动画原理
09.无缝轮播组件
10.Nav 组件
11.使用 Karma做测试
12.表单验证
13.分页组件
14.Table 组件
01.课程简介.md
15.图片上传组件(单文件)
16.中级轮子:图片上传组件(多文件)
17.中级轮子:图片上传的单元测试
18.Sticky 组件
19.课程总结




