简化代码,封装公共组件

前言

项目中不可避免的有很多相同的组件,封装公共组件可以简化代码,提高开发效率,slot可以完美的实现封装

一、slot是什么?

slot卡槽可以分为具名卡槽和默认卡槽,默认卡槽直接写在组件内部并插入到内容区域

二、使用步骤

1.公共组件BaseCard封装

代码如下(示例):

<template><div :class="['base-card', cardType === 'sub' ? 'sub' : 'main']" :style="{ width, height }"><div class="card-top"><slot name="top-control"><span class="title">{{ title }}</span></slot></div><div class="content"><slot>内容</slot></div></div>
</template>
<script>
export default {name: "base-card-2",props: {width: {type: String,default: "100%",},height: {type: String,},title: {type: String,default: "标题",},cardType: {type: String,default: "main",validator: function (value) {// 这个值必须匹配下列字符串中的一个return ["main", "sub"].includes(value);},},},
}
</script>

2.父组件引入

代码如下(示例):

(1)默认卡槽的使用

<template><BaseCard class="taxAnalysis-container" title="税务分析" cardType="sub"></BaseCard>
</template>
<script>
import BaseCard from "@/baseComponets/baseCard.vue";

(2)具名卡槽的使用

<template><BaseCard class="taxAnalysis-container" title="税务分析" cardType="sub"><template #top-control><div>头部企业排名</div><el-selectv-model="value"placeholder="选择时间"popper-class="select-popper-copy"style="margin-right:20px;"><el-option label="500w以下" value="500万以下"></el-option></el-select></template></BaseCard>
</template>
<script>
import BaseCard from "@/baseComponets/baseCard.vue";

总结

这个例子组件默认卡槽时如下

但是组件有时又会有些许差异,比如会在最右边多一点东西,比如一个下拉框,这是就会使用具名卡槽

slot卡槽封装公共组件相关推荐

  1. ts引入公共方法_angular 封装公共方法

    angular封装公共方法到service中间件,节省开发时间 layer.service.ts openAlert(callback) {// 传递回调函数 const dialogRef = th ...

  2. slot具名卡槽和props

    App.vue代码 <template><div id="app"><StuPropsVue :name="name" :age= ...

  3. vue公共组件封装及传值

    Vue组件的三要素 1. props参数 2. slot定制插槽 3. event自定义事件 基本组件开发 创建一个.vue文件,其中包含template.script以及style: <tem ...

  4. 第十一篇: 使用ElementUi 卡片封装一个季度选择器公共组件,可直接使用

    本篇主要内容:ElementUi 只提供了时间.日历等选择器,没有提供季度选择器,但在开发中报表的时候用到了季度选择器.需要换切换多种类型(年报.月报.季报), 于是封装一个季度公共组件,大家可按需修 ...

  5. Vue公共组件的封装

    Vue组件的三要素 1. props参数 2. slot定制插槽 3. event自定义事件 基本组件开发 创建一个.vue文件,其中包含template.script以及style: <tem ...

  6. Egret之龙骨卡槽(slot)换皮

    龙骨的图片是绑定在卡槽上的.并且是一对一的关系.所以可以通过对骨架的卡槽上绑定的图片的更换来实现另一种换皮的效果. 换皮的核心代码: //针对slot设置其新内容private setNewSlot( ...

  7. vue uni-app 公共组件封装,防止每个页面重复导入

    1.公共插件 实现目标,将公共组件或者网络请求直接在this中调用,不需要再页面引用 #例如网络请求 var _this = this;this.api.userInfo({token: ''}#通用 ...

  8. java 公共组件_GitHub - XiaoMaoGuai/zxy-commons: java公共组件:对java开发中大部分公共代码进行了封装。...

    zxy-commons公共组件说明 依赖说明: 项目依赖于zxy-commons-bom,请下载zxy-commons-bom后并执行./gradlew publishToMavenLocal安装到本 ...

  9. [Vue] 组件卡槽的使用

    SLOT 例子 参考代码:code 实现功能: 两种方法实现父组件往子组件中传入DOM节点 1. 属性传值(不推荐) 2. Slot插槽使用 (推荐) 属性传值(不推荐) 思路(注意:这是一个错误例子 ...

最新文章

  1. 第七周项目一-成员函数、友元函数和一般函数有区别(1)
  2. java stringbuilder appendline_StringBuilder
  3. WEB初学者简介,web入门
  4. diag--创建对角矩阵
  5. 软件测试——进程调度(短作业优先调度算法+先来先服务算法)测试
  6. Druid-基本概念
  7. [五]RabbitMQ-客户端源码之AMQChannel
  8. 洛谷 P2163 [SHOI2007]园丁的烦恼 (离线sort,树状数组,解决三维偏序问题)
  9. WebStrom里设置angular提示,可以在html中提示ts文件的内容
  10. WPF:DataGrid可过滤、多语言
  11. hdu 1536 S-Nim (sg)
  12. Itext 中的文本信息绝对定位
  13. MATLAB中simulink的模糊PID控制
  14. Rider+EmmyLua lua代码高亮设置
  15. 一款比PowerDesigner好用的uml建模工具chiner
  16. m73p黑苹果_Hackintosh 黑苹果长期维护机型 EFI 及安装教程整理
  17. TPAdmin 验证码不显示问题
  18. 当按下Alt-F4时阻止关闭Outlook,使其最小化(翻译)
  19. C语言家族树管理系统
  20. nodejs+express(ejs)做摇一摇小游戏(公司年会摇一摇游戏环节,大屏幕统计前几名摇动次数),大家一起摇一摇,看谁摇的次数多,并用excel-export导出excel

热门文章

  1. 2014年中南大学复试-安全路径
  2. 看完这篇文章你就可以告诉领导你精通Zookeeper了
  3. uni-app animation动画
  4. C++ STL 之堆栈(后进先出) stack 详解
  5. Altium Designer 18PCBLogo制作
  6. 探索ELF可执行文件的“干货”:段头表和段的基本介绍
  7. 最新苹果同步器技术-手机群控操作-脚本录制分屏控制-实时同步操作一系列APP功能解析分享
  8. *转载 Tarjan有向图详解
  9. 如何选择美颜SDK接口?
  10. 网络笔记(29) 容器网络:来去自由的日子,不买公寓去合租