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

总结/笔记-vue中的插槽(默认插槽、具名插槽、作用域插槽)

问题:

遇到了一个插槽,写法为 #default = ”{ row }“

插槽知识点:

定义

插槽,用于 在组件中 引用外部组件或自定义组件的内容。

即 子组件中提供给父组件使用的一个占位符,父组件可以在这个占位符中填充任何模板代码,填充的内容会替换子组件的标签。插槽的显不显示、如何显示是由父组件控制,插槽在哪显示子组件控制。

1. 默认插槽

v-slot:default#default,可省(name属性可以不写,即未定义名字的插槽

数据流:父组件 -> 子组件

例:引用子组件时,在子组件中插入一段内容,代码如下

在父组件中的传入要插到子组件的内容

2. 具名插槽

具名插槽,即 给插槽起名,给<slot></slot>定义一个name属性。

数据流:父组件 -> 子组件

作用:一个子组件可以放个插槽,父组件填充内容时,根据名字把内容填充到对应插槽中。

父组件 可以用 v-slot:name #name 往插槽中填充内容。

#插槽名  v-slot:插槽名 的简写形式

例子:

3. 作用域插槽

作用域插槽:带数据的插槽,即带参数的插槽。子组件提供给父组件参数,该参数仅限于插槽中使用,父组件可以根据子组件传过来的插槽数据 来进行不同方式的展示/填充插槽内容。

父组件通过 v-slot: 属性名 = “slotProps” 的slotProps(接受的变量)来获取子组件传出的属性,子组件中通过<slot  v-bind=属性名:"值"  name=“值”>来传递子组件的数据,数据存于 值 中

数据流:子组件 -> 父组件

适用场景:在父组件中访问子组件的数据;子组件的某部分数据,每个父组件都有不同方式/样式的呈现形式。

例子:

在<slot>上使用 v-bind绑定了 vue data 中的定义的数据。

总结与拓展:

1. slot 存在于 子组件,v-slot 在父组件,最终页面展示结果是父组件。

2. 可以通过解构获取 v-slot = { user },也可重命名 v-slot = “{ user: newName }” 和定义默认值 v-slot = “{ user = '默认值' }”

3. 插槽名 可以动态变化的 v-slot: [slotName]

注:

1. 默认插槽 dafault,可以省略default 直接写 v-slot,缩写为#时不能不写参数,要写成#default

2. 多个插槽混用时,v-slot不能省略default

软件开发原则:多扩展,少修改。

v-slot插槽的位置:

更推荐 将插槽 v-slot 写在<template>元素上,其处理过程不会渲染成真实的DOM节点。

也可用于其他HTML元素上,这样最终插入到子组件会有真实的DOM节点包裹。

另一说法表示,v-slot 属性只能在template上使用,只有默认插槽可以在组件标签上使用。(2020)

问题解决

片头提到的问题:  #default = ”{ row }“,为缩写的默认插槽,即 v-slot:defalut = "{ row }",其解构了,也对其进行重命名或定义默认值。

参考:详解Vue中的插槽用法:默认插槽、具名插槽、作用域插槽 - 掘金 (juejin.cn)

VUE作用域插槽详解(<slot>、v-slot、slot-scope)_别来打扰我的博客-CSDN博客

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

相关文章:

  • QTday5(QT连接TCP通信)
  • 【Docker】安装RabbitMQ
  • 【如何获取数据库表的字段并拼接】
  • Oracle中LEFT JOIN后AND与WHERE的异同
  • Flink实时计算中台Kubernates功能改造点
  • GO远程构建并调试
  • react使用hook封装一个search+input+checkbox组件
  • 【6】uniform颜色写入
  • 自然语言处理历史史诗:NLP的范式演变与Python全实现
  • 网络协议从入门到底层原理学习(二)—— Mac地址/IP地址
  • 2023开学礼中国海洋大学《乡村振兴战略下传统村落文化旅游设计》许少辉新海洋图书馆
  • WebClient vs HttpClient:异同对比
  • ES6中导入import导出export
  • 【MySQlL学习笔记】(九)内外连接
  • 敦煌https证书能做些什么
  • React笔记(六)React路由
  • 【算法系列篇】分治-归并
  • word导出为HTML格式教程,同时也导出图片
  • 事务的优化
  • VMware虚拟机安装_新虚拟机创建_CentOS镜像导入_linux指令基本操作
  • Git常用命令用法
  • 电子元器件采购的数字化转型:智能采购工具的应用
  • 【RuoYi移动端】uni-app中通过vuex的store来实现全局变量的修改和读取
  • IPv6改造深化之路
  • atoi(),isdigit(),isspace(),round()源码
  • C# 播放音频文件(播放提示音)
  • 一种编程语言,
  • 云原生Kubernetes:K8S常用服务端口
  • clickhouse调优配置
  • pdf文件打开后部分文字无法显示