Vue 3 企业级项目实战课
杨文坚
前阿里前端 Leader,前腾讯 IMWeb 团队高级前端工程师
6908 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
实战篇 (19讲)
Vue 3 企业级项目实战课
15
15
1.0x
00:00/00:00
登录|注册

11|布局组件:如何实现自研组件库的布局方案?

你好,我是杨文坚。
在做前端页面开发的过程中,无论你用的是 Vue.js、React.js 还是小程序,都是通过一个个组件的排列、嵌套或者动态渲染等方式的组合,实现一个前端页面的渲染和功能效果。
既然页面都是由一个个组件用各种方式组合而成的,你有没有想过,这个组合形式有没有什么规范和讲究?能不能形成通用组件来重复使用呢?
其实,在企业里用 Vue.js 或者 React.js 来开发页面,对组件布置组合形式是有规范、有讲究的。一般这类“规范”或者“讲究”被称为“页面布局”,能提供布局能力的组件,也就称为“布局组件”。
目前主流的 Vue.js 或者 React.js 的开源组件库里,都会提供一些基础的布局组件,利用这些布局组件,我们可以拼接出页面的大致“骨架”,然后在布局“骨架”里“填充”所需要的功能组件,从而组合成业务需要实现的页面。
这么说估计有点不好理解,我们代入一个工作中常见的开发场景,来看看布局组件到底有什么用,如何实现自己的布局组件。

布局组件

假设你开发了一个电商首页,从上到下是轮播图片区块、商品类目区块、促销商品区块和热销商品区块。你完成代码后,交接给另外一个前端同事维护,他接到需求,要在轮播图片和类目模块左右两侧各加一个广告位区块。这位前端同事完成需求后,再转交给你维护,你再接到需求,在轮播图顶部再加一个广告位区块……
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

Vue.js 3.x自研组件库的布局组件实现方案是本文的核心内容。文章首先介绍了布局组件的重要性,指出它能够统一前端页面布局的开发规范,降低沟通、开发和理解成本。接着,文章提出了实现布局组件需要准备的三个要点:栅格化系统设计、不同布局组件的语义化定义以及根据栅格化系统和语义布局组件实现各种页面布局。作者从最基础的布局组件——栅格组件讲起,详细阐述了在Vue.js 3.x技术体系内实现布局组件的方法。通过规范化布局,开发者可以在调整页面布局时,只需调整布局组件而不影响功能组件的代码,从而降低开发成本和维护难度。文章内容深入浅出,为读者提供了实用的技术指导,有助于他们理解和应用布局组件的重要性和实现方法。 文章主要介绍了Vue.js 3.x自研组件库的布局组件实现方案,重点讲解了栅格组件的设计和实现。通过栅格化系统设计和语义化布局组件的结合,实现了灵活且通用的页面布局方案。通过详细的代码示例和解释,读者可以快速了解如何在Vue.js 3.x技术体系内实现布局组件,并且理解了栅格化系统的设计原理和实现方法。这篇文章对于前端开发者来说具有实际指导意义,能够帮助他们更好地理解和应用布局组件的重要性和实现方法。 总结一下,在自研组件库的时候,我们需要围绕着内部填充的功能组件来做若干开发规范约定:* 组件尽量不要写死尺寸,需要用弹性的尺寸样式,建议直接使用栅格组件;* 组件里的文字内容要考虑换行处理,特别是纯字母和数字的显示组件;* 组件里图片显示尽量在控制好边缘尺寸限制;* 组件里绝对定位注意固定位置的偏移是否受外界布局组件容器的影响。企业内的需求变化是不可预测的,所以你也无法预测会遇到什么布局需求,但是学会今天的布局组件的设计规范和技术实现,即使你遇到特殊布局场景,也可以根据PC端页面布局组件实现和多种布局组合搭配,举一反三,实现自己所需要的布局内容。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Vue 3 企业级项目实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(3)

  • 最新
  • 精选
  • 烛火星光
    vue3里面继续使用$slots,是不是不太合适

    作者回复: 您好,“vue3里面继续使用$slots”这个只是开发习惯或者开发规范,只要官方还只提供该能力,就可以继续使用的。

    2023-01-04归属地:江苏
  • 癡癡的等你歸
    老师,栅格化布局如何考虑响应式呢? 我们在使用Antdv的过程中,发现如果一行24格,分别放了6个span为4的输入框,当界面足够大时没有问题,但是当界面宽度变小时,所有输入框都是缩起来,针对这种情况在设计组件时要怎么考虑呢?以及在使用组件时要怎么处理这个问题呢?

    作者回复: 您好,栅格化兼容响应式,需要考虑就是栅格内容的尺寸,在“移动端”或者“窄屏幕”环境下是否要占满整个屏幕宽度。 因为响应式布局更多是对屏幕“宽度”的兼容,所以在设计响应式的栅格组件,首先要考虑栅格内容的宽度兼容问题,提供一个动态控制是否占满宽度或者按需调整宽度的选项。

    2022-12-17归属地:浙江
    3
  • 初烬
    思考题:参考antd组件库的方案,可以根据屏幕尺寸定义为 xs sm等参数,实现栅格化
    2022-12-23归属地:陕西
    1
收起评论
显示
设置
留言
3
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部