Vue组件化开发思考

作者:laozhang 时间:2024-04-27 15:47:38 

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

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

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

我发觉可能从意识上把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组件化开发思考

标签:Vue,组件化
0
投稿

猜你喜欢

  • 如何把IP表存到SQL数据库里去?

    2009-11-02 20:21:00
  • python实现文件分片上传的接口自动化

    2022-06-29 03:39:41
  • 深入理解Golang Channel 的底层结构

    2024-02-18 19:29:13
  • golang gorm中格式化时间问题详解

    2023-07-12 09:45:21
  • Python面向对象编程之类的运算

    2021-06-07 18:39:17
  • python3实现用turtle模块画一棵随机樱花树

    2023-11-30 06:04:07
  • python同步windows和linux文件

    2023-12-11 11:44:35
  • Python+Appium新手教程

    2022-12-01 04:12:44
  • 介绍使用WordPress时10个常用的MySQL查询

    2024-01-16 07:33:36
  • JavaScript中跨域调用Flash的方法

    2024-04-19 10:25:49
  • python生成式的send()方法(详解)

    2022-09-02 23:50:56
  • 对python中assert、isinstance的用法详解

    2022-04-29 14:10:54
  • 用javascript实现页面无刷新更新数据

    2011-08-14 07:54:08
  • 做了CDN加速的ASP网站获取用户真实IP程序

    2011-02-16 10:59:00
  • PHP判断是否微信访问的方法示例

    2023-07-05 03:21:36
  • ASP实例:幻灯片新闻代码

    2008-11-21 17:40:00
  • 使用python如何提取JSON数据指定内容

    2022-08-06 23:48:41
  • 使用ERWin进行基于MySQL数据库的物理设计

    2009-01-04 12:54:00
  • 超长文章的智能分页-支持HTML

    2008-03-20 13:21:00
  • css样式表实现首写字母大写

    2007-10-08 12:11:00
  • asp之家 网络编程 m.aspxhome.com