看了elementUI和bootstrapvue有的一个组件就有好几个js文件,都看不懂。看别人的视频教程封装一个组件也没写那么的东西一个文件就写完了
最简单的组件:会 CSS 就能封装,比如布局组件
简单交互的组件:会 DOM 事件就能封装,比如 Button 组件
复杂交互的组件:还需要一点点封装技巧,比如 Pager 组件、Datapicker 组件、Form 组件
代替 Native 级别的交互组件:需要你对交互有很多经验,比如普通 Scroll 组件、普通 RickText 组件、普通 Table 组件
性能增强组件:需要你有专门的演算法,比如支持虚拟滚动的 Scroll 组件、兼容性强的 RickText 组件、功能强大的 Table 组件
大部分组件唯手熟尔,小部分组件需要专门的知识。
本人目前只停留在会用vue写网页。这是我的写的网站,求各位大佬点赞。
dengguochao23:实战 | 基于Vue.js+Element-ui 搭建的前端项目?
zhuanlan.zhihu.com
封装组件需要很多知识储备,网上的视频只是告诉你思路,做个简单的demo!下面说一下需要哪些知识
- webpack要非常熟悉,可以根据不同环境搭建不同配置,比如开发环境,生产环境,测试环境!可以把不同模块中的css提取压缩到同一个文件中
- 自动化测试工具需要熟练掌握,如何使用快照测试,如何使用断言测试,单元测试,代码覆盖率测试要怎么写
- Git操作,babel配置,npm发布都是基本操作
- 需要对vue框架非常了解,如状态如何在组件之间相互传递,如何用插槽提高可定制性,了解事件系统是什么样的机制
- 需要有统一样式的UI,还要计划好组件有多少种状态,每种状态下的样式
- 提高组件的实用性,易用性,定制性,也就是说用户可以通过简单修改属性,让组件显示不同的样式实现不同的功能,可以把小组件合并为大组件,提供的事件和绑定的方法要完善。并且这些操作要简单不能太繁琐
- 组件文档要详细到位,示例,效果,代码,文字说明都要有
- 要有样式模块化思想
- 兼容性看你的定位了,是不是要打造支持所有浏览器的组件
目前只能想到这么多了,如果想深入了解还是看看优秀组件库的源码,并且自己动手实现一个比较复杂的组件,并尝试去理解他们的设计逻辑和出发点,为什么这样设计