slot-插槽的基本使用-具名插槽的使用(重要)

2023-10-31

slot-插槽的基本使用-具名插槽的使用

为什么使用slot ?

slot翻译为插槽:

1.在生活中很多地方都有插槽,电脑的USB插槽,插板当中的电源插槽。
2.插槽的目的是让我们原来的设备具有更多的扩展性。
3.比如电脑的USB我们可以插入U盘、硬盘、手机、音响、键盘、鼠标等等。

组件的插槽:

1.最暗的插槽也是为了让我们封装的组件更加具有扩展性。
2.让使用者可以决定组件内部的一些内容到底展示什么。

栗子:移动网站中的导航栏:

1.移动开发中几乎每个页面都有导航栏。
2.导航栏我们必然会封装成一个插件,比如nav-bar组件。
3.一旦有了这个组件,我们就可以在多个页面中复用了。

如何封装这类组件呢? slot

1.它们有很多区别,但是也有很多共性。
2.如果,我们每一个单独去封装一个组件,显然不合适:比如每个页面都返回,这部分内容就要我们重复去封装。
3.但是,如果我们封装成一个,好像也不合理:有些左侧是菜单,有些是返回,有些是中间搜索,有些是文字等等。

如何封装何时呢?抽取共性, 保留不同

1.最好的封装方式就是将共性抽取到组件中,将不同暴露为插槽。
2.一旦我们预留了插槽,就可以让使用者根据自己的需求,决定插槽中插入什么内容。
3.是搜索框,还是文字,还是菜单,由调用者自己来决定。

1.插槽的基本使用:< slot >< /slot >
2.插槽的默认值: < slot > button </ slot >
3.如果有多个值,同时放入到组件中替换时,一起作为替换元素

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
<div id="app">
  <cpn></cpn>
  <cpn><span>hello</span></cpn>
  <cpn><i>hi</i></cpn>
  <cpn><button>OK</button></cpn>
  <cpn>
    <span>Emma</span>
    <p>我是p</p>
    <div>我是div</div>
  </cpn>
  <cpn></cpn>
  <cpn></cpn>

</div>

<template id="cpn">
  <div>
    <h2>我是组件</h2>
    <p>我是组件,哈哈哈哈</p>
    <slot><button>按钮</button></slot>
    <!--<button>按钮</button>-->
  </div>
</template>

<script src="../../vue.min.js"></script>
<script>
  const app=new Vue({
    el:'#app',
    data:{
      message:'hello',
    },
    components:{
      cpn:{
        template:'#cpn',
      }

    }
  })
</script>
</body>
</html>

具名插槽

给插槽添加name

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
<div id="app">
  <cpn>
    <span slot="left">gg</span>
    <span slot="center">标题</span>
    <span>右边</span>
    <span>哈哈哈</span>
  </cpn>



</div>

<template id="cpn">
  <div>
    <slot name="left"><span>左边</span></slot>
    <slot name="center"><span>中间</span></slot>
    <slot name="right"><button>取消</button></slot>
    <slot><button>按钮</button></slot>
  </div>
</template>

<script src="../../vue.min.js"></script>
<script>
  const app=new Vue({
    el:'#app',
    data:{
      message:'hello',
    },
    components:{
      cpn:{
        template:'#cpn',

      }
    }
  })
</script>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

slot-插槽的基本使用-具名插槽的使用(重要) 的相关文章

随机推荐

  • [深度学习入门]Python基础语法(上)

    目录 一 程序设计基本方法 1 计算机是根据指令操作数据的设备 2 编程设计语言概述 3 计算机编程 4 IPO程序编写方法 5 使用计算机解决问题 二 基础知识 1 pyCharm 为人工智能领域常用的IDE 2 Python的简单使用
  • NVIDIA Shield 消失的解决办法和Moonlight串流

    Foreword 之前有用Moonlight串口pc的游戏到公司电脑 然后突然有一天串流就不可用了 NVIDIA Shield 就消失了 怎么都开不起来 串流就失败了 然后也记录一下Moonlight串流的操作 由于NVIDIA单方面宣布停
  • vue+element 根据状态,显示不同的操作按钮

    效果截图 VUE 核心功能代码片段
  • 【yolov5】yolov5训练自己的数据集全流程----包含本人设计的快速数据处理脚本

    关于yolo应用时能用到的脚本集合 推荐收藏 https chenlinwei blog csdn net article details 127299428 文章目录 1 工程化快速yolo训练流程指定版 无讲解 1 1 抽样数据集 xm
  • Spring MVC中如何进行转发和重定向呢?

    转自 Spring MVC中如何进行转发和重定向呢 重定向 我们将用户的定向到另一个视图 jsp 中处理 此操作是一个客户端行为 类似与url的链接操作 转发 将用户的请求转发到另一个视图或controller处理 此操作是一个服务器端行为
  • 【日常遇坑总结】类成员变量的空间分配和初始化顺序

    遇坑 今天在用QT的时候 传从主ui页面创建的一个指针到建模ui页面 在运行时程序发生奔溃 经过测试发现问题 主页面的指针和传进建模页面的指针不是同一个 导致在调用类指针方法时发生错误 测试 以下代码仅展示测试代码的部分 不可运行 但能从下
  • spring+ jcaptcha(spring框架下的彩色验证码)

    从jcaptcha官方网站下载jcaptcha的发行包 并将其发行包中的jar文件考贝到本地项目WEB INF目录下的lib目录中 官方网址http jcaptcha sourceforge net 在web xml文件中配置 Java代码
  • 嵌入式知识图谱WiKi(嵌入式开发/研发入门教程和路线图)

    嵌入式知识图谱WiKi 作者 将狼才鲸 创建时间 2022 02 18 因图床更新不方便 最新版请跳转到Gitee文档源文件仓库网址 才鲸 嵌入式知识图谱WiKi CSDN有图的文档阅读网址 嵌入式知识图谱WiKi Bilibili视频讲解
  • 数据结构--二叉树

    前言 关于二叉树知识的考察主要分两部分 第一部分在初赛中体现 一般考察二叉树的节点个数 树高和遍历问题 1 二叉树定义 在计算机科学中 二叉树是每个结点最多有两个子树的树结构 通常子树被称作 左子树 left subtree 和 右子树 r
  • Log4j2日志框架

    Log4j2日志框架 1 简介及入门示例 1 背景介绍 官网地址 https logging apache org log4j 2 x Maven 仓库地址 https search maven org artifact org apach
  • 机器学习心得体会总结

    第一 线性代数是把复杂问题简单化解决 但是简单问题已经很复杂了 第二 国内还没有一本关于机器学习讲得连老百姓都能看得明白的书籍 第三 克拉默法则 逆矩阵 初等变换都可以求解方程Ax b 后者方法更简单
  • C语言

    目录 一 实验环境 二 黑白圣诞树 三 windows h简介 四 windows h实现彩色圣诞树 1 设置用户窗口 2 移动光标 3 修改字体颜色 4 绘制圣诞树 5 绘制雪景 6 完整代码 7 运行 一 实验环境 编译环境 vc 6
  • 【因果推断与机器学习】带入坑——之辛普森悖论

    因果推断与机器学习 Why you might Care Simpson s Paradox 考虑一个纯粹假设的未来 那里有一种被称为COVID 27的新疾病在人类中普遍存在 在这个纯粹假设的未来中 已经开发了两种治疗方法 治疗A和治疗B
  • 西门子dcs系统组态手册下载_PLC/DCS/HMI 知识普及

    什么是PLC 可编程控制器 简称PLC Programmable logic Controller 是指以计算机技术为基础的新型工业控制装置 在1987年国际电工委员会颁布的PLC标准草案中对PLC做了如下定义 PLC是一种专门为在工业环境
  • 原版安装Win10 1909专业版 64位MSDN镜像2020 05

    原版安装Win10 1909专业版 64位MSDN镜像2020 05 一 更新内容 1 去除预装kms激活 未激活的可以通过桌面自行激活 2 提升商店购买应用的速度性能 3 解决在IE浏览器中阻碍下载和安装 NET组件的问题 4 更新修复补
  • Qt5.14.2 MInGW静态编译配置教程

    Qt5 14 2 MinGW静态编译教程 1 安装Qt 1 1 下载安装包 1 2 安装 2 工具的下载安装 3 检查上述配置是否成功 4 静态编译qmake 4 1 静态编译配置 4 2 编译 4 3 安装静态库 4 4新增静态编译 1
  • SQL Server(五)-视图

    与表一样 视图也是由字段和记录组成的 只是这些字段和记录来源于其他被引用的表或视图 所以视图并不是真实存在的 而是一张虚拟的表 视图中的数据并不是存在于视图中的 而是存在于被引用的数据表当中的 当被引用的数据表中的记录内容改变时 视图中的记
  • 临沂地区的OLED拼接屏有哪些独特优点?

    临沂oled拼接屏是一种高清晰度的显示屏 由多个oled屏幕拼接而成 它可以用于商业广告 展览 会议 演出等场合 具有高亮度 高对比度 高色彩饱和度 高刷新率等优点 能够吸引人们的眼球 提高信息传递效果 临沂oled拼接屏的优点之一是高亮度
  • 虚拟偶像是未来趋势吗?

    Hello 我的朋友 这里是古希伯 今天聊聊 虚拟偶像行业是不是未来的趋势 虚拟偶像零都知道吧 日本初音未来 洛天依诸多的 日本虚拟偶像行业市场是最为发达的 日漫这一块本身具有先天优势存在 乃至于国内诸多公司都没有能力完全复刻 虚拟偶像目前
  • slot-插槽的基本使用-具名插槽的使用(重要)

    slot 插槽的基本使用 具名插槽的使用 为什么使用slot slot翻译为插槽 1 在生活中很多地方都有插槽 电脑的USB插槽 插板当中的电源插槽 2 插槽的目的是让我们原来的设备具有更多的扩展性 3 比如电脑的USB我们可以插入U盘 硬