美文网首页
怎样抽离一款可用的基础组件

怎样抽离一款可用的基础组件

作者: 做一只旅行青蛙 | 来源:发表于2020-06-08 12:59 被阅读0次

在业务中我们常常需要将一些大的页面的公共部分抽离出来,实现组件的复用,便于维护和代码解耦。然而怎样做、怎么做,需要下功夫去仔细商讨。以下是我总结的一些方法,仅代表我的个人观点。

1.可复用部分可以选择直接写死,组件在标签中绑定的属性可以在父组件中通过v-bind单项数据流传过来。

2.不可复用部分可通过动态配置,比如最简单的通过v-if来控制展示,然后通过在该组件中绑定一个属性来匹配需要展示的部分,当然这种方式的代码量比较多,可扩展性也比较弱。若以后想出更好的方法,再记录。

3.不要在组件内部实现过多的业务逻辑,而是应当以一种接口的形式去让调用它的父组件去实现这些方法。例如我们可以在组建内部通过emit向父组件注册同名方法或其他方法,然后去让父组件去触发这个事件来实现相应的方法,这一步很重要。如果组件内部业务逻辑过多,那么他就不是一款基础组件了,而且这样做也会使组件的功能变得单一,不好扩展和维护。

4.组件自己需要调用的网络请求来获取他自己的数据是可以的,并且它的一些自己的控制逻辑方法可以交给他自己处理,不用给外部处理。

5.由外部来控制组件内部状态的属性可以单项数据流,也就是说只由父组件进行初始化工作,不需要回传控制的话,比如command + f在父组件中全局查找该属性,发现只有在v-bind上可以找到并且该属性的变化不依赖于子组件内部,那么就不需要在子组件的data中初始化。如果父组件中的业务逻辑会再次使用到该属性,并且该属性会在子组件内部发生变化,则需要在子组件的data中初始化,并且以props中的参数来初始化,注意名字不要重复。然后通过emit向父组件注册事件来回传参数,也可以在某些地方使用v-model语法糖。(其实说白了就是看父组件给子组件传进去的属性是否会在子组件内被子组件改动,如果会改动的话,就需要子组件抛出去,不需要的话就单项数据流)

总结:组件内部不要实现太多的业务逻辑,具体业务逻辑交给调用他的父组件去实现。组件内部标签需要的属性通过父子组件传值,并且在组件内部data中初始化(如果需要数据双向绑定),如果父组件需要这些数据,可以通过向父组件注册方法来实现。可以把组件想成一个代理中心,在组件里面注册方法供外部调用,将UI层复用,将业务层桥接

相关文章

  • 怎样抽离一款可用的基础组件

    在业务中我们常常需要将一些大的页面的公共部分抽离出来,实现组件的复用,便于维护和代码解耦。然而怎样做、怎么做,需要...

  • 2019-03-31

    项目结构优化 公用组件提取(通过配置达到多种样式的显示效果)项目基础组件抽离输入: input, textarea...

  • 怎样抽离?

    最怕是在爱情里迷失了自己,还全然不知 潜意识中还有半点清醒,却又心乱如麻 是不是很矛盾? 是的,很矛盾... 此时...

  • Vue-2

    组件模板的抽离写法 为什么组件data必须是函数

  • vue - store

    基础用法 抽离

  • 怎样抽离一个Tab组件

    Tab组件是网站场景的一种组件,负责在同一页面展示不同信息时的切换,在项目中应用页极为场景,包括首页,大促,收藏页...

  • 组件19:抽离组件总结

    总结抽离组件要做的事情:一、建立索引仓库;二、建立组件仓库。 一、建立索引仓库 - 远程:(github、Codi...

  • 搭建一个简单的cli工具

    目前公司采用的项目结构是基于vue-cli脚手架,再在基础上进行通用组件、业务组件的封装和抽离,目前已经比较完善和...

  • 组件化改造-从零开始

    1 ,抽分基础资源 2 ,基础库的设计 3 ,组件接口 4 ,组件拆分 5 ,路由设计 对比了几家组件化方案,还是...

  • Vue 组件抽离写法

    组件抽取模板 一、通过Script标签抽取出来模板 二、通过 template标签方式抽离末班 三、注册模板

网友评论

      本文标题:怎样抽离一款可用的基础组件

      本文链接:https://www.haomeiwen.com/subject/hopazhtx.html