在开发 Vue 项目时,大多数人会选择用官方的 vue-cli 搭建项目的基础。你们也都会使用一些组件库,好比 element-ui,或者本身封装一些组件。那么在平常开发时,你们都会封装哪些组件呢? 个人话会这样分: 一、公共组件 1-一、通用组件库(如 element-ui、iView) 1-二、业务组建(只能在这个项目使用) 二、页面组建(为了拆分复杂度而使用)
指开源的组件库,如 element-ui、iView,都有 table、popover、datepicker 这些经常使用的组件,使用起来开发快多了。vue
加分项:git
在实际项目开发中,即使使用了组件库,仍然有大量重复的代码,其实咱们能够更加精简的去开发,基于通用组件或者其它业务组件之上,再封装一层,让其更加方便的使用。好比在后台管理系统中,常常会有 表格 + 分页 这样的组合,彻底能够组合封装起来。下面看个例子:github
<template> <SelectTable ref="selectTable" url="/select/table" :columns="columns"> </SelectTable> </template> <script> import SelectTable from '~/SelectTable' export default { components: { SelectTable }, data() { return { columns: [{ title: '姓名', key: 'name' }, { title: '年龄', key: 'age' }, { title: '身高', key: 'height', filter: (value) => value + 'cm' }, { title: '性别', key: 'sex', filter: (value) => value === 0 ? '女' : '男' }, { title: '地址', key: 'address', width: 400, render: (h, param) => { return <el-button size="small">{param.row.address}</el-button> } }] } } } </script>
上面的代码只有 表格 + 分页 的代码,咱们只须要指定少许的配置,就能够生成一个想要的页面。
只须要指定 url (后端的接口地址) 和 columns 就能够实现一个表格,并且还带分页。图片的源码地址vue-cli
加分项:element-ui
减分项:后端
若是项目里面有多相似的页面,我建议能够作一些封装,不然封装的意义不是很大。测试
在开发复杂的页面的时候,每每会一个页面有不少的代码,看起来头都大了,这时候咱们就能够考虑把其中的一些代码,单独分离出去,不至于一个页面上千甚至上万行代码😂。ui
加分项:url
1. 方便维护,把部分独立的业务分离出去 2. 方便定位 bug,只须要保证传进来和传出去的参数正确,就很容易定位到问题
无论怎么说,在开发的时候,尽可能把公共的东西抽离,都是一个很是棒的选择。各位对组件还有什么其它见解呢?欢迎讨论( ̄▽ ̄)"。spa