明显感觉 iview 的api 更加简洁,在生成类似表格 下拉框这些较复杂的组件时 , iview 的方式类似于antdesign , 好处是直接传数据进去,在内部实现了模板生成,高效 快捷。 而element 则是用到到v-for vue指令结合的方式去生成,批量生成元素。
表格 操作列 自定义渲染的时 ,iview 使用的是 vue的 render 函数, element 直接在template 中插入对应模板
表格分页都需要 引入分页组件 配合使用
日历组件对比
两者api 总体比较 ,iview 要比element 简洁许多。 饿了么更侧重于在template里直接去渲染模板
思想上 个人觉得iview偏向react, element 更vue
表单校验 两者都使用同一款插件 async-validator 校验方式一样
项目优化角度
首屏优化,第三方组件库依赖过大 会给首屏加载带来很大的压力,一般解决方式是 按需求引入组件
element-ui 根据官方说明 现需要引入babel-plugin-component插件 做相关配置 然后直接在组件目录 注册全局组件
iview 按需求加载 这里感觉官方给的文档不是很详细
主题
iview
本身提供了一套主题可供选择,除此之外 自定义主题
方法一(官方推荐,前提条件是使用webpack):
新建一个.less 文件 , 先在less文件中引入官方样式文件 然后在此基础上复写
方法二 :
官方提供了 自动编译工具iview-them 来编译。干的事情就是 把自定义的样式和 github仓库最新的样式 通过工具生成一个新的样式文件。
element-ui
如果只替换颜色 ,可以使用在线主题生成工具在线编辑颜色, 生成element-ui 主题 直接下载 再引入
深度定制主题
官方提供了 主题生成工具 element-them
执行命令 初始化得到一个配置文件 ,修改相关配置 经过编译得到 得到相关主题文件 再通过babel 插件引入
双方都提供了专门的工具用于深度定制主题,综合比较 iview 更加简单,element 主题定制需要配合 babel做一些预编译 ,以及步骤更多 显得更加复杂
过渡动画
element 有内置过渡动画 使得组件的切换变化 更具动感
iview 更为中规中矩
对设计人员
element 提供了 Sketch 和 Axure 工具 对设计人员友好
iview 没有提供
以上 …
最后
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
大厂面试问深度,小厂面试问广度,如果有同学想进大厂深造一定要有一个方向精通的惊艳到面试官,还要平时遇到问题后思考一下问题的本质,找方法解决是一个方面,看到问题本质是另一个方面。还有大家一定要有目标,我在很久之前就想着以后一定要去大厂,然后默默努力,每天看一些大佬们的文章,总是觉得只有再学深入一点才有机会,所以才有恒心一直学下去。