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

vue插槽是什么?如何使用?

1、意义

插槽是vue提供的一个内置组件,是一个占位符。作用是可以向组件中传递一段html代码,加强了组件封装性以及复用性。

2、分类

插槽通常分为匿名插槽、具名插槽、作用域插槽

匿名插槽:

顾名思义就是没有名字的插槽,我们通常是通过匿名插槽把我们在子组件标签内写的html全部渲染到子组件中

//子组件标签
<SlotTest :list="list"><form><h3>我是匿名插槽的数据</h3><input type="text" placeholder="请输入内容"></form>
</SlotTest>
<template><div class="slotChild"><h1>我是插槽组件</h1><slot></slot><!-- 匿名插槽 --></div>
</template>

具名插槽:

有名字的插槽,通常是将我们想要定义的html放置到对应的位置

 <SlotTest :list="list"><!-- 具名插槽 --><template #btn><button>添加</button><button>删除</button></template></SlotTest>
<template><div class="slotChild"><h1>我是插槽组件</h1><slot name="btn"></slot></div>
</template>

作用域插槽:

通常通过插槽传递列表以后,我们想要执行一些操作,但是无法获取到数据,通过作用域插槽可以获取子组件中的值,父组件可以获取值从而进行业务逻辑处理。

<SlotTest :list="list"><template #btn="childProps"><pre>{{ childProps }}</pre><button>添加</button><button @click="del(childProps.item.ind)">删除</button><!-- <button @click="del(childProps.item.id)">删除</button> --></template>
</SlotTest>
<template><div class="slotChild"><h1>我是插槽组件</h1><ul><li v-for="(i, ind) in list" :key="i.id">{{ i.name }}<!-- 具名插槽 --><!-- 作用域插槽(通过slot上传递属性) --><slot name="btn" :item="{ i, ind }"></slot></li></ul></div>
</template>

在render中如何获取插槽内容?

匿名插槽:vm.$slots.default

具名插槽:vm.$slots.name

作用域插槽:vm.$scopeSlots

http://www.lryc.cn/news/115906.html

相关文章:

  • yum常用操作命令
  • .Net C# 免费PDF合成软件
  • JAVA集合框架 一:Collection(LIst,Set)和Iterator(迭代器)
  • python ffmpeg合并ts文件
  • c++map和set剖析
  • kubernetes configmap 的data中的文件内容格式错乱
  • A TupleBackedMap cannot be modified Mybatis分页,使用List<Map>接参,无法修改map的解决方案
  • Leetcode-每日一题【剑指 Offer 13. 机器人的运动范围】
  • WEB集群——负载均衡集群
  • ubuntu 20.0.4 搭建nvidia 显卡环境
  • Windows环境下通过 系统定时 执行脚本方式 压缩并备份文件夹 到其他数据盘
  • C++系列二:STL教程-常用算法
  • 【css】渐变
  • idea打开多个项目需要开多个窗口(恢复询问弹窗)
  • 篇十三:策略模式:选择不同算法
  • Centos7.6 安装mysql过程全记录
  • Java中的Guava是什么?
  • vue.js兄弟组件方法调用b组件调用a组件方法
  • 【Kubernetes】二进制搭建
  • 【MFC】08.MFC消息,自定义消息,常用控件(MFC菜单创建大总结),工具栏,状态栏-笔记
  • Clickhouse 数据存储
  • c语言每日一练(3)
  • java基础-Stream(流)、File(文件)和IO
  • el-table实现指定列合并
  • 38.利用matlab解 有约束无约束的参数估计对比(matlab程序)
  • 什么是React?React与VU的优缺点有哪些?
  • 区块链技术助力慈善,为您的善举赋予全新力量!
  • 模拟实现消息队列项目(系列4) -- 服务器模块(内存管理)
  • STM32 LoRa源码解读
  • 【BASH】回顾与知识点梳理(十)