网站首页 > 技术文章 正文
21. 插槽(3)
在某些场景下插槽的内容可能想要同时使用父组件域内和子组件域内的数据。要做到这一点,我们需要一种方法来让子组件在渲染时将一部分数据提供给插槽。
我们也确实有办法这么做!可以像对组件传递props那样,向一个插槽的出口上传递attributes
SlotsAttr.vue
<script>
/**
* 定义一个Vue组件
* 该组件包含一个名为childMessage的数据属性,用于传递信息到子组件
*/
export default {
data() {
// 初始化组件的数据属性
return {
childMessage: '子组件数据'
}
}
}
</script>
<template>
<!-- 组件标题 -->
<h3>Slots3</h3>
<!-- 定义一个插槽,并传递childMessage数据属性给子组件 -->
<slot :msg="childMessage"></slot>
</template>
App.vue
<script>
// 导入SlotsAttr组件,用于展示插槽内容
import SlotsAttr from "@/components/SlotsAttr.vue";
// 定义当前组件的导出对象
export default {
// 注册组件
components: {
SlotsAttr
},
// 定义数据属性
data() {
return {
// 当前测试内容
currentTest: "测试内容"
}
}
}
</script>
<template>
<!-- 使用SlotsAttr组件,并通过v-slot指令定义默认插槽的内容 -->
<SlotsAttr v-slot="slotProps">
<!-- 展示来自组件内部的数据 -->
<h3>{{ currentTest }}</h3>
<!-- 展示来自SlotsAttr组件传递的msg属性 -->
<h3>{{ slotProps.msg }}</h3>
</SlotsAttr>
</template>
具名插槽传递数据
SlotsAttr.vue
<script>
export default {
data() {
// 初始化组件的数据属性
return {
childMessage: '具名子组件数据',
jobMessage: '程序员'
}
}
}
</script>
<template>
<h3>Slots3</h3>
<slot name="header" :msg="childMessage"></slot>
<slot name="main" :job="jobMessage"></slot>
</template>
App.vue
<script>
import SlotsAttr from "@/components/SlotsAttr.vue";
export default {
components: {
SlotsAttr
},
data() {
}
}
</script>
<template>
<SlotsAttr>
<template #header="slotProps">
<h3>{{ slotProps.msg }}</h3>
</template>
<template #main="slotProps">
<p>{{ slotProps.job }}</p>
</template>
</SlotsAttr>
</template>
猜你喜欢
- 2025-06-15 前端流行框架Vue3教程:19. 插槽slot(1)
- 2024-10-04 干货 | UI设计师必知的10套好用的前端框架
- 2024-10-04 前端框架基准测试最新结果:18 个框架当中有 13 个达到顶级
你 发表评论:
欢迎- 523℃Oracle分析函数之Lag和Lead()使用
- 520℃几个Oracle空值处理函数 oracle处理null值的函数
- 518℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 505℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 502℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 493℃【数据统计分析】详解Oracle分组函数之CUBE
- 472℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 472℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端富文本编辑器 (47)
- 前端路由 (61)
- 前端数组 (73)
- 前端排序 (47)
- 前端定时器 (47)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)