前阵子,我搭建了一个后台管理系统,使用 Vue 作为前端框。与网上许多现成的 Vue 全家桶+element ui 的后台管理系统不同,我采用了 AdminLTE 3.0 (也自带了 Bootstrap4 ) 的 CSS 作为样式框架,HTML 部分大部分也照搬了 AdminLTE。整个开发体验感觉非常好,把复杂的可复用组件模块化的同时,也保留了原生 HTML 的写法。
于是这里就涉及到一个问题,HTML 自带的标签用第三方组件库代替有什么意义?
在我看来这只是增加了学习成本,而且对自身技术提高是无用的。
以 button 标签为例,按钮的样式本身通过 class 定义,像自带的 disable 之类的属性也都是 HTML 标准。
<button class="btn btn-primary" @click="add()">Add New</button> 而 element ui 也提供类似的方法定义按钮,但我们为什么要浪费精力,学多一个框架的标签呢?
<el-button type="primary" icon="el-icon-edit">Edit</el-button> 实现同样的功能,上面的写法只要学过 HTML 的人都知道,而下面的写法至少要专门看下 element ui 的文档,但好端端的 HTML 怎么就变成了 element ui ML 了呢?
在我的项目中也用到 element ui 的一些组件,我赞同前端组件化开发,但我觉得不应该把前端本该有的 HTML 标签重新定义的面目全非。
