Vue组件化开发思考


Posted in Javascript onFebruary 02, 2018

一般说到组件,我首先想到的是弹窗,其他就大脑空白了。

因为觉得这个是在项目中最常用的功能,提取出来方便复用的才是组件~

然而我才发现这个想法是有问题的。

我发觉可能从意识上把Vue的组件和UI库的组件(弹窗之类的)混淆了。。。

缘起于最近的一个表单开发,页面上有2个是联动菜单的选项。

首先想到的是,这个样式和选择地址的那个联动菜单,完全一样哈~

(废话,同一个项目 当然要保持ui风格的相同啊!)

不过差别在于 我这个是 一个1级 一个2级, 地址那个是4级的.

Vue组件化开发思考

然后我就想着把那个地址的组件引进来用,发现这是个写死4级的

这个时候我只想到2种办法

1,分别改写成1级选项和2级选项的2个组件(好像比较low)

2,引用4级联动组件,改写成可选1级选项或2级选项(有点麻烦,到时候还要测地址没被我改坏)

3,重写一个可以通用无限联动菜单(方便可选级的)

最后选了3,自己重新搞了个。

至于为什么没有整合2,主要考虑到这两个组件所处的业务页面不同逻辑也有些差异:

1获取列表的逻辑可能不同,是一次性获取4级还是每次只获取1级或2级,

这个不确定的话,做成通用组件就都要处理了

2我这个是直接弹选项的,地址那个是跳新页面再点击弹选项的

我这个可以父子组件传递数据,地址那个用了vuex(非父子)

总之就是实现成本和维护成本高,复用价值没那么高。

相当于2个页面都各自有一个样式相同逻辑不同的组件。

这完全是2个组件~

复制其通用样式部分,在各自内部实现其业务逻辑。

两个组件放在不同的板块内,相互独立,方便管理和维护。

这个时候 再结合vue组件化的图来看 你会清楚

对于组件化开发

分治(自有业务逻辑)比复用(相同逻辑) 更为重要!

复杂的业务逻辑配合vuex更方便实现组件化~

所以我理解组件化的组件是应该泛指是 高内聚低耦合(某phper讲给我的专业名词,不知道放这用对不对哈)的~

Vue组件化开发思考

Javascript 相关文章推荐
最新优化收藏到网摘代码(digg,diigo)
Feb 07 Javascript
Js获取事件对象代码
Aug 05 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
Mar 14 Javascript
jqplot通过ajax动态画折线图的方法及思路
Dec 08 Javascript
使用jquery.validate自定义方法实现"手机号码或者固话至少填写一个"的逻辑验证
Sep 01 Javascript
node.js中的fs.linkSync方法使用说明
Dec 15 Javascript
js判断鼠标位置是否在某个div中的方法
Feb 26 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
Jul 31 Javascript
对angular 实时更新模板视图的方法$apply详解
Oct 09 Javascript
layui自定义ajax左侧三级菜单
Jul 26 Javascript
layer弹出层自适应高度,垂直水平居中的实现
Sep 16 Javascript
深入浅析React中diff算法
May 19 Javascript
微信小程序实现导航栏选项卡效果
Jun 19 #Javascript
解析Vue.js中的组件
Feb 02 #Javascript
如何将你的AngularJS1.x应用迁移至React的方法
Feb 01 #Javascript
vue 2.0 购物车小球抛物线的示例代码
Feb 01 #Javascript
js中getBoundingClientRect的作用及兼容方案详解
Feb 01 #Javascript
深入剖析Express cookie-parser中间件实现示例
Feb 01 #Javascript
JS 实现百度搜索功能
Feb 01 #Javascript
You might like
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
thinkPHP5.0框架环境变量配置方法
2017/03/17 PHP
Ruffy javascript 学习笔记
2009/11/30 Javascript
javascript之学会吝啬 精简代码
2010/04/25 Javascript
前台js调用后台方法示例
2013/12/02 Javascript
Jquery倒计时源码分享
2014/05/16 Javascript
jQuery实现流动虚线框的方法
2015/01/29 Javascript
浅谈JavaScript的自动垃圾收集机制
2016/12/15 Javascript
深入理解基于vue-cli的vuex配置
2017/07/24 Javascript
js实现黑白div块画空心的图形
2018/12/13 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
通过JS运行机制的角度说说作用域
2019/03/12 Javascript
javascript实现点击按钮切换轮播图功能
2020/09/23 Javascript
Python中删除文件的程序代码
2011/03/13 Python
python中私有函数调用方法解密
2016/04/29 Python
详解Python函数作用域的LEGB顺序
2016/05/14 Python
python对配置文件.ini进行增删改查操作的方法示例
2017/07/28 Python
Python reduce()函数的用法小结
2017/11/15 Python
python 从csv读数据到mysql的实例
2018/06/21 Python
Python实现的线性回归算法示例【附csv文件下载】
2018/12/29 Python
Python mutiprocessing多线程池pool操作示例
2019/01/30 Python
python 多个参数不为空校验方法
2019/02/14 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
函授大学生自我鉴定
2014/02/05 职场文书
物业保安员岗位职责
2014/03/14 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
数控专业毕业生求职信
2014/06/12 职场文书
捐款活动总结
2014/08/27 职场文书
党的群众路线教育实践活动查摆问题及整改措施
2014/10/10 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
英语复习计划
2015/01/19 职场文书
幼儿园班级工作总结2015
2015/05/25 职场文书
学校隐患排查制度
2015/08/05 职场文书
小学大队委竞选口号
2015/12/25 职场文书