Vue组件(插槽)

2023-11-09

1、插槽属于Vue组件的三个核心之一,其余两个分别是属性和事件,今天主要学习插槽的使用。

2、插槽(slot):将子组件和父组件进行组合,可以弥补视图的不足。是组件具有更好的拓展性

组件的封装方式:抽取共性

3、插槽的使用方式:

(1)vue2.0之前的版本

        1️⃣匿名插槽(默认插槽):一个组件中有且只有一个插槽

<div>
    <h2>子组件</h2>
    <p>哈哈哈</p>
    <!-- 匿名插槽:预留的位置,具体做什么元素由该组件的使用者决定-->
    <slot></slot>    
</div>

        2️⃣具名插槽:

        Son.vue

<div>
    <slot name="top"></slot>
    <h2>子组件</h2>
    <p>哈哈哈</p>
    <slot name="center"></slot>
    <p>啦啦啦</p>
    <slot name="bottom"></slot>
</div>

App.vue:

<Son>
      <template v-slot:top>
        <h1>插槽</h1>
      </template>
      <template v-slot:center>
        <button>按钮</button>
      </template>
      <template v-slot:bottom>
        <select>
          <option value="#">请选择</option>
        </select>
      </template>
</Son>

        3️⃣作用域插槽:父组件显示不同的页面结构,页面中的数据来自子组件

        Menu.vue:

<template>
  <div>
    <h2>哈哈哈</h2>
    <p>啦啦啦</p>
    <slot :lang="list"></slot>
  </div>
</template>

<script>
export default {
  name: "Menu",
  data(){
    return {
      list:['JavaScript','CSS','HTML','C++','C']
    }
  }
}
</script>

        App.vue

<Menu>
	<template slot-scope="slotProps">
        {{ slotProps.lang.join('、')}}
	</template>
</Menu>

(2)vue2.6之后的版本:插槽使用统一的新的语法(<v-slot>指令),用来取代<slot>和slot-scope

        1️⃣匿名插槽(默认插槽):在父组件中使用v-slot指令

        Son.vue:

<div>
    <h2>子组件</h2>
    <p>哈哈哈</p>
    <p>啦啦啦</p>
    <slot></slot>
  </div>

        App.vue:

<Son>
      <template v-slot:default>
        <button>测试</button>
      </template>
</Son>

        2️⃣具名插槽:和老版本用法相同

        3️⃣作用域插槽:

        Menu.vue

<div>
    <h2>哈哈哈</h2>
    <p>啦啦啦</p>
    <slot :lang="list" name="st1"></slot>
    <slot :lang="list" name="st2"></slot>
  </div>
</template>

<script>
export default {
  name: "Menu",
  data(){
    return {
      list:['JavaScript','CSS','HTML','C++','C']
    }
  }
}
</script>

        App.vue

 <Menu>
      <template v-slot:st1="slotProps">
        <h2>{{ slotProps.lang.join(' --- ')}}</h2>
      </template>
    </Menu>

<!--    列表方式-->
    <Menu>
      <template v-slot:st2="slotProps">
        <ul>
          <li v-for="(item,index) in slotProps.lang" :key="index">{{ item }}</li>
        </ul>
      </template>
    </Menu>
  </div>

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

Vue组件(插槽) 的相关文章

随机推荐

  • 【论文笔记】VLMO: Unified Vision-Language Pre-Training with Mixture-of-Modality-Experts

    1 介绍 1 1 视觉语言 VL 预训练的两种主流架构 1 dual encoder 分别对图像和文本进行编码 优点 检索任务 缺点 图像和文本之间的浅层交互不足以处理复杂的VL分类任务 2 单编码器 对模型图像 文本对进行跨模态关注的融合
  • 服务中找不mysql

    右键 计算机 点击 管理 然后点击 服务和应用程序 双击 服务 发现里面没有 MySql的服务 找到MySQL安装目录 我的是C Program Files MySQL MySQL Server 8 0 bin 打开cmd 进入MySQL的
  • java杨辉三角根据用户输入的行数n来显示杨辉三角的行数。

    import java util Scanner public class Main06 public static void main String args Scanner scanner new Scanner System in i
  • 高斯白噪声及Matlab常用实现方法

    http blog sina com cn s blog 4d7c97a00101cv5h html 一 概念 英文名称 white Gaussian noise WGN定义 均匀分布于给定频带上的高斯噪声 所谓高斯白噪声中的高斯是指概率分
  • 关于硬链接和软连接(符号链接)的区别

    linux系统下提供ln指令来进行文件链接 文件链接主要分为硬链接和软链接 硬链接 由于linux下的文件是通过索引节点 Inode 来识别文件 硬链接可以认为是一个指针 指向文件索引节点的指针 系统并不为它重新分配inode 每添加一个一
  • 计算机科学导论(5):计算机网络

    原文链接 计算机科学导论 5 计算机网络 远行的舟 参考 纪录片 互联网时代 计算机科学导论 TCP IP 入门经典 维基百科 阮一峰老师博客 哈尔滨工业大学阿里巴巴技术联盟互联网笔试面试整理 HTTP 权威指南 1776 年 3 月 瓦特
  • 几种负荷预测方法及其应用

    1 趋势分析法 趋势分析法称之趋势曲线分析 曲线拟合或曲线回归 它是迄今为止研究最多 也最为流行的定量预测方法 它是根据已知的历史资料来拟合一条曲线 使得这条曲线能反映负荷本身的增长趋势 然后按照这个增长趋势曲线 对要求的未来某一点估计出该
  • rust 学习笔记1

    RUST Rust 语言是一种高效 可靠的通用高级语言 其高效不仅限于开发效率 它的执行效率也是令人称赞的 是一种少有的兼顾开发效率和执行效率的语言 Rust的应用 Rust 语言可以用于开发 传统命令行程序 Rust 编译器可以直接生成目
  • MFC 单文档中添加OnPaint

    单文档中添加OnPaint 方法 1 在xxxView h里添加 生成的消息映射函数 protected DECLARE MESSAGE MAP public afx msg void OnPaint 2 实现OnPaint 3 在xxxV
  • 微信小程序渗透测试

    一 工具准备 burpsuite 夜神模拟器 把微信装好 node js wxappUnpacker 二 获取源码 1 配置Burp和模拟器 模拟器需导入ca证书 打开模拟器的WLAN gt 高级设置 gt 输入物理机的ip以及一个没被占用
  • Gof23设计模式之原型模式

    1 概述 用一个已经创建的实例作为原型 通过复制该原型对象来创建一个和原型对象相同的新对象 2 结构 原型模式包含一下角色 抽象原型类 规定了具体原型对象必须实现的clone 方法 具体原型类 实现了抽象圆形类的clone 方法 它是可被复
  • ASP.NET开发公众号时微信支付遇到签名错误

    请求返回来xml数据
  • 7-21 口罩发放(标准注释+测试点说明)

    为了抗击来势汹汹的 COVID19 新型冠状病毒 全国各地均启动了各项措施控制疫情发展 其中一个重要的环节是口罩的发放 某市出于给市民发放口罩的需要 推出了一款小程序让市民填写信息 方便工作的开展 小程序收集了各种信息 包括市民的姓名 身份
  • 事件流及事件处理程序总结

    事件流 事件捕获阶段 处于目标阶段 事件冒泡阶段 事件捕获与事件冒泡的区别 如何阻止事件的默认行为 以及如何阻止事件冒泡 事件捕获和事件冒泡的概念是相反的 事件捕获 不具体的节点更早接收到事件 而最具体的节点最后接收到事件 DOM2级事件
  • EndNote在Word中插入文献不能自动生成编号 - 解决方案

    本文出处 新浪博客 小数码植物摄影 之http blog sina com cn s blog 629be3eb0100sih3 html 新浪博客 小数码植物摄影 首页 http blog sina com cn u 1654383595
  • Android Studio中怎样引用图片资源

    随着不断接触Android Studio 越来越发现和Eclipse有着巨大的差别 不管是表面的目录结构 还是内在对各种资源的管理 本篇就来聊聊Android Studio中怎样来显示图片 以及与Eclipse中的差别 在Eclipse中依
  • requests爬虫遇到404怎么办_Python爬虫基础库和实践

    爬虫有三大基础库Requests BeautifulSoup和Lxml 这三大库对于初学者使用频率最高 现在大家一起来看看这基础三大库的使用 Requests库 Requests库的作用就是请求网站获取网页数据 Code res reque
  • C# Modbus Rtu实现

    Modbus Rtu的实现与Modbus Tcp的实现类似 C ModBus Tcp的学习及Master的实现 我们还是需要借用一个开源库NModbus4 在vs中 打开NuGet管理器 安装NModbus4 具体实现 具体实现与之前的Mo
  • 主流大语言模型的技术原理细节

    作者 spring 1 比较 LLaMA ChatGLM Falcon 等大语言模型的细节 tokenizer 位置编码 Layer Normalization 激活函数等 2 大语言模型的分布式训练技术 数据并行 张量模型并行 流水线并行
  • Vue组件(插槽)

    1 插槽属于Vue组件的三个核心之一 其余两个分别是属性和事件 今天主要学习插槽的使用 2 插槽 slot 将子组件和父组件进行组合 可以弥补视图的不足 是组件具有更好的拓展性 组件的封装方式 抽取共性 3 插槽的使用方式 1 vue2 0