最近在开发是遇到一个问题,原本是在组件内的一个功能被ui设计稿给搞到了外面,产品也不同意放在子组件内。于是一个问题就来,抽出来放到外面的部分依赖的也是组件内部的数据和逻辑,所以如果外面再重写这一部分,显然浪费感情,并且又要把依赖关系挪出去,也不划算。
于是,就实现了基于我当前开发vue3版本下的,组件本身将某一部分作为子组件暴露出去的功能实现。
如上图,A组件,内部B组件是一个轮播模板的组件,C是一个轮播切换器(手写实现组件),本身这个轮播切换器应该放在B组件内,但是UI把他设计到B的外面,放在了A里面,这就导致我需要将轮播器抽取出来。如果是你你会怎么想?
在A里面写一次,可以,但是我的业务需求还有一个弹窗放大的效果,难道你又在弹窗里面再写一次?再仔细想一下,这个轮播的切换上一个下一个和当前也的显示效果又和外面没有数据依赖关系,那你还要把内部数据和逻辑又暴露给外部?所以在外面写就不符合我们将的内聚的特性,故我只有将轮播器这块作为B的子组件向外暴露,然后在A里面通过r