当前位置: 首页 > news >正文

vue 组件开发

今天来和大家分享一下组件开发,很多用vue框架开发的小伙伴对于组件开发应该不陌生,顶多就是对其概念模糊啦些:

起手一条面试题,阁下该如何应对:

如何封装Vue组件?封装一个好用的Vue组件需要遵循哪些设计原则?

你的答案是什么呢?评论区说说...

总的来说,封装一个好的组件,主要是保证一下四点:

1、单一职责原则(帮助组件专注于一个责任)

2、可复用性原则(使组件成为通用的解决方案)

3、可配置性原则(增加组件的灵活性)

4、单向数据流原则(提供了清晰的数据传递方向)

如果不考虑好与坏,那全部踢掉,遵循三行原则:(好用就行、好看就行、好写就行)

文章都写啦,那就讲点有专业性的东西嘛

回答一下上面的问题哈:

封装插件的流程大致为:明确需求、定义 Props 和 Events、使用插槽slot、保持组件独立性、样式隔离、可复用性可扩展性;设计原则遵循单一职责原则、可复用性原则、可配置性原则、单向数据流原则进行对组件进行设计封装。

组件定义简单来说就是以下三点进行简单的构成:

1、props

2、emit

3、slot

props接收传入数据、emit完成组件事件触发和数据传递、slot使得组件灵活性变强,增加可复用性

以下进行一个简单的举例:

<template>
    <div class="tab_bar">
        <div class="left">
            返回键
        </div>
        <div class="center">
            <slot name="center">
                {{ title }}
            </slot>
        </div>
        <div class="right" @click="$emit('more')">
            更多
        </div>
    </div>
</template>

<script>
export default {
    props: {
        title: {
            type: String,
            default: '标题'
        }
    },
}
</script>

<style lang="scss" scoped>
.tab_bar {
    display: flex;
    justify-content: space-between;
    align-items: center;

    div {
        flex: none;
    }

    .center {
        flex: 1;
    }
}
</style>

这样一个简单的移动端顶部导航组件封装好啦,如果想更清晰了解插槽和v-model组件封装的话,推荐以下文章:

slot插槽:vue 插槽的三种形态(匿名插槽、具名插槽、作用域插槽)-CSDN博客

相关文章:

  • C++运动控制卡开发实践指南
  • 【pm2运行ts的终极解决方案】使用pm2+ tsx 运行 TypeScript 文件指南
  • 3.25-3 request断言
  • 代码随想录算法训练营第二十天 | 字符串 | 反转字符串、替换空格、翻转字符串里的单词(很多基础方法)和左旋转字符串
  • Windows下docker使用教程
  • 【C++特殊类的设计】
  • 和鲸科技执行总裁殷自强受邀主讲华中附属同济医院大模型应用通识首期课程
  • 美摄科技开启智能汽车车内互动及娱乐解决方案2.0
  • 音乐webpack(通杀webpack-1)
  • 解决在客户端本地无法访问服务器http方式访问麦克风与摄像头的问题
  • Linux如何判断磁盘是否已分区?
  • 基于yolov11的中空圆柱形缺陷检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
  • (C语言)静态通讯录(正式版)(C语言小项目)
  • HTML5 Geolocation(地理定位)学习笔记
  • 数字化转型1061丨某著名企业新零售云业务中台总体解决方案(文末有下载方式)
  • springboot使用阿里限流框架-sentinel
  • 数据结构之双链表
  • day17 周末两天偷懒没更新,今天炼丹加学习,完结STL常用容器部分
  • 揭秘大数据 | 13、大数据的五大问题 之 数据科学
  • FPGA的直方图均衡
  • 自己做网站 如何推广/网站优化排名易下拉软件
  • wordpress网站开发代码/博为峰软件测试培训学费
  • 桂林seo/厦门seo全网营销
  • 做网站代码用什么软件/bt kitty磁力猫
  • 网站建设的法律依据/seo排名关键词搜索结果
  • 物流网站建设摘要/个人网页制作成品