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

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博客


http://www.kler.cn/a/600436.html

相关文章:

  • 基于路由、数据库与模型的控制器设计.
  • NAT实验
  • 【Homebrew】一文掌握 Homebrew 的详细用法(Homebrew 备忘清单)
  • 计算机网络高频(三)UDP基础
  • 个股场外期权参与条件有哪些要求?
  • 环境评价分析中土地利用现状图的制作方法
  • 【商城实战(63)】配送区域与运费设置全解析
  • 【练习】PAT 乙 1082 射击比赛
  • 华为交换相关
  • D-Link 登录信息泄露(越权)CVE-2018-7034 漏洞分析
  • ENSP学习day9
  • 查找热点数据问题 | 数据结构
  • 某网关管理软件 9-12ping.php 命令执行漏洞(CVE-2025-1448)
  • 能源监控软件UI界面设计:科技与美学的交融
  • Python----计算机视觉处理(Opencv:绘制图像轮廓:寻找轮廓,findContours()函数)
  • 解决stm32引脚如果选择输入模式
  • 关于MTU的使用(TCP/IP网络下载慢可能与此有关)
  • AF3 Rotation 类解读
  • Java多线程与高并发专题——如何利用 CompletableFuture 解决“聚合打车服务平台”的问题?
  • Sqladmin - FastAPI框架下一键生成管理后台