关于Vue的组件的通用性问题
在项目中,经常会有需求让我们把很多通用性的功能写成一个模板,然后根据不同的应用场景传入不同的参数来完成某种功能
但是在很多时候,其实并不是一个模板就能完成所有的功能的
这就需要分类写组件了,但是需求方又希望你能写一个万金油的组件,他就有疑惑了:
为什么要写很多不同的组件?不能写一个通用的组件,然后在slot里面写自己想要的内容?
以我目前的看法是这样认为的
这个组件的分界概念并没有很明确
组件只是说让你把很多重复性的代码,抽取出来,精简代码,降低冗余性,
而至于抽取多少出来,精简到什么程度,就仁者见仁智者见智,看你自己怎么定义了。
因为如果你写了一个太通用的组件,通过slot把微调的代码写进入,
而既然是微调,那么插槽里面的代码肯定就不多,
因为如果你每次调用组件,还要去写一大段slot,而当这个组件在很多的地方使用时,
这些插槽里面的代码,本身就是重复性的,
这时又需要把这些代码抽离,写成新组件
所以,不能奢望一招鲜吃遍天下,应该对于不同的应用场景设计不同的大致通用的模板
不能说组件写的多,说明你的能力不行。