看了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,還要計劃好組件有多少種狀態,每種狀態下的樣式
- 提高組件的實用性,易用性,定製性,也就是說用戶可以通過簡單修改屬性,讓組件顯示不同的樣式實現不同的功能,可以把小組件合併為大組件,提供的事件和綁定的方法要完善。並且這些操作要簡單不能太繁瑣
- 組件文檔要詳細到位,示例,效果,代碼,文字說明都要有
- 要有樣式模塊化思想
- 兼容性看你的定位了,是不是要打造支持所有瀏覽器的組件
目前只能想到這麼多了,如果想深入了解還是看看優秀組件庫的源碼,並且自己動手實現一個比較複雜的組件,並嘗試去理解他們的設計邏輯和出發點,為什麼這樣設計