2021-07-21 vue插槽
说明
为什么要有插槽?
是为了方便优雅地在父组件中向子组件传递向子组件传递dom结构。
代码处理
子组件
该子组件的组件名为ChildComponent:
<template>
<div class="the-box">
<div>子组件开始</div>
<div style="border: 1px solid rgb(255, 0, 0)">
<div>插槽1---开始</div>
<div>`slot`遍历值:{{ 子组件prop2 }}</div>
<template v-for="(item, index) in 子组件prop2">
<slot
name="插槽1"
:插槽1数据1="item"
:插槽1数据2="{
子组件局部作用域变量: item,
子组件全局作用域变量: 静态设置.设置名1,
}"
:插槽1数据3="index"
>
插槽1默认内容
</slot>
</template>
<div>插槽1---结束</div>
</div>
<div style="border: 1px solid rgb(0, 255, 0)">
<div>默认插槽---开始1</div>
<slot>
一个不带`name`的`slot`出口会带有隐含的名字`default`;这里是插槽默认值;
</slot>
<div>默认插槽---结束1</div>
</div>
<div style="border: 1px solid rgb(255, 0, 255)">
<div>默认插槽---开始2</div>
<slot name="default"> </slot>
<div>默认插槽---结束2</div>
</div>
<div style="border: 1px solid rgb(0, 0, 255)">
<div>插槽2---开始</div>
<div>`slot`遍历值:{{ 枚举.枚举一 }}</div>
<template v-for="(item, index) in 枚举.枚举一">
<slot
name="插槽2"
:插槽2数据1="item"
:插槽2数据2="{
局部作用域: item,
全局作用域: 静态设置.设置名1,
}"
:插槽2数据3="index"
></slot>
</template>
<div>插槽2---结束</div>
</div>
<div>子组件结束</div>
</div>
</template>
<script>
export default {
name: 'ChildComponent',
props: {
子组件prop1: {
type: [Object, String, undefined],
default: '',
},
子组件prop2: {
type: [Array],
default: () => {
return []
},
},
},
data() {
return {
枚举: {
枚举一: [
{ 名称: '名称1', 数值: '数值1' },
{ 名称: '名称2', 数值: '数值2' },
],
},
静态设置: {
设置名1: '设置值1',
},
}
},
}
</script>
<style scoped>
.the-box {
margin: 20px 5px 20px 10px;
border: 1px solid rgb(255, 255, 0);
}
.the-box > div {
margin: 8px 10px 2px 5px;
}
</style>
同目录下的父组件
<template>
<div class="page-container">
<div class="form-page-box">
<div>父组件--开始</div>
<ChildComponent
子组件prop1="父组件传入prop1值"
:子组件prop2="[1, 2, 3, 4, 8]"
>
<template #插槽1="scope">
<div style="border: 1px solid rgb(0, 0, 0)">{{ scope }}</div>
</template>
<template #default="scope"> </template>
<template #插槽2="scope">
<div>{{ scope }}</div>
</template>
</ChildComponent>
<div>父组件--结束</div>
</div>
</div>
</template>
<script>
import ChildComponent from './ChildComponent'
export default {
components: {
ChildComponent,
},
}
</script>
<style lang="scss" scoped></style>
图片

常见名词
父组件
vue2.6.0版本之前的写法
<template slot="default" slot-scope="scope">
{{ scope.row.prodName }}
</template>
vue2.6.0版本后新的写法
完整写法
<template v-slot:default="scope">
{{ scope.row.prodName }}
</template>
简洁写法
<template #default="scope">
{{ scope.row.prodName }}
</template>
子组件名词
参考
2021-07-21 vue插槽的更多相关文章
- 2021.07.21 NPCBOT增加人类的SS和74
#ssinsert into `creature_template_npcbot_appearance`(`entry`,`name*`,`gender`,`skin`,`face`,`hair`,` ...
- 学习笔记:Vue——插槽
关于Vue插槽,只用过最简单的语法,现在完整地走一遍官方文档说明,并且探索更多用法. 01.如果组件中没有包含一个<slot>元素,则该组件起始标签和结束标签之间的任何内容都会被抛弃. 0 ...
- 2021.07.26 P1010 幂次方(数论)
2021.07.26 P1010 幂次方(数论) [P1010 NOIP1998 普及组] 幂次方 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.二进制 题意: 用20 ...
- Vue插槽:(2.6.0以后版本弃用slot和slot-scope,改用v-slot)
关于Vue插槽的概念,大家可以从vue官网的api查看,我是看到网站的对于初接触 这个要概念的人来说不是很清楚,我来贴下原码,就比较直观了 贴下原码: 具名插槽:v-slot:header Html: ...
- Vue 插槽详解
Vue插槽,是学习vue中必不可少的一节,当初刚接触vue的时候,对这些掌握的一知半解,特别是作用域插槽一直没明白. 后面越来越发现插槽的好用. 分享一下插槽的一些知识吧. 分一下几点: 1.插槽内可 ...
- Murano Weekly Meeting 2015.07.21
会议时间: 2015.07.21 主持人: Kirill Zaitsev, core from Mirantis 会议摘要: 1.murano client和murano dashboard升级到y ...
- Vue插槽的另外一些特性
之前有个项目,想判断一下,某一个模板内的插槽是否被使用. 不知道是不是问题过于简单,网上没有这方面的说明.我就抽时间验证一下vue插槽相关的一些功能. 然后写下这篇随笔,希望对后来人能有一些帮助. 简 ...
- vue插槽用法(极客时间Vue视频笔记)
vue插槽 插槽是用来传递复杂的内容,类似方法 <!DOCTYPE html> <html lang="en"> <head> <meta ...
- 2021.12.21 eleveni的刷题记录
2021.12.21 eleveni的刷题记录 0. 有意思的题 P6701 [POI1997] Genotype https://www.luogu.com.cn/problem/P6701 状压优 ...
- 2021.07.17 题解 CF1385E Directing Edges(拓扑排序)
2021.07.17 题解 CF1385E Directing Edges(拓扑排序) CF1385E Directing Edges - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) ...
随机推荐
- [粘贴]使用 Dumpling 导出数据
https://docs.pingcap.com/zh/tidb/stable/dumpling-overview#dumpling-%E4%B8%BB%E8%A6%81%E9%80%89%E9%A1 ...
- [转帖]TiDB 整体架构
https://docs.pingcap.com/zh/tidb/stable/tidb-architecture 与传统的单机数据库相比,TiDB 具有以下优势: 纯分布式架构,拥有良好的扩展性,支 ...
- [转帖]分析redis 大key
http://www.lishuai.fun/2023/05/05/redis-bigkey/#/%E5%AE%89%E8%A3%85 redis-rdb-tools 是一个 python 的解析 r ...
- It is currently in use by another Gradle instance
FAILURE: Build failed with an exception. * What went wrong: Could not create service of type TaskHis ...
- vue同步组件和异步组件的区别
异步组件 异步组件:只在组件需要渲染(组件第一次显示)的时候进行加载渲染并缓存,缓存是以备下次访问. Vue实现按需加载 在打包的时候,会打包成单独的js文件存储在static/js文件夹里面** 在 ...
- 虚幻引擎 4 学习笔记 [1] :蓝图编程 Demo
虚幻引擎 4 学习笔记 [1] :蓝图编程 Demo 最近学习虚幻引擎,主要看的是 Siki 学院的课,课程链接:Unreal蓝图案例 - 基础入门 - SiKi学院|SiKi学堂 - unity ...
- 使用Python调用Nessus 接口实现自动化扫描
@ 目录 认证 策略模板配置 创建策略模板 任务 创建任务 启动/停止任务 获取扫描结果 获取漏洞信息 获取漏洞输出信息与漏洞知识库信息 最后总结 之前在项目中需要接入nessus扫描器,研究了一下n ...
- 爱了爱了!推荐一个Github 70k+点赞的Java学习指南!
大家好,我是 Guide 哥!今天给大家推荐一个非常不错的 Java 教程类开源项目-JavaGuide ,Github 地址: https://github.com/Snailclimb/JavaG ...
- Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本、图像等领域,支持文搜、图搜文、图搜图匹配搜索
Similarities:精准相似度计算与语义匹配搜索工具包,多维度实现多种算法,覆盖文本.图像等领域,支持文搜.图搜文.图搜图匹配搜索 Similarities 相似度计算.语义匹配搜索工具包,实现 ...
- PaddleNLP--UIE(二)--小样本快速提升性能(含doccona标注)
相关文章: 1.快递单中抽取关键信息[一]----基于BiGRU+CR+预训练的词向量优化 2.快递单信息抽取[二]基于ERNIE1.0至ErnieGram + CRF预训练模型 3.快递单信息抽取[ ...