作用域插槽

收藏593

阅读13356

更新时间2025-08-22

从作用域槽接收数据

组件中本地数据用v-bind发送,父级中用 v-slot 可以接收:

示例

App.vue:

v-slot:"dataFromSlot">
  

{{ dataFromSlot.lclData }}

运行示例 »

在上面的例子中,"dataFromSlot"只是一个我们可以自己选择的名称来表示我们从作用域槽接收到的数据对象。 我们使用"lclData"属性从槽中获取文本字符串,并使用插值最终在

标签中呈现文本。


带有数组的作用域槽

作用域槽可以使用 v-for 从数组发送数据,但 App.vue 中的代码基本相同:

示例

SlotComp.vue:




App.vue:

v-slot="food">
  

{{ food.foodName }}

运行示例 »

带有对象数组的作用域槽

作用域槽可以使用 v-for 从对象数组发送数据:

示例

SlotComp.vue:




App.vue:


  
 

{{ food.foodName }}food.foodUrl>

 

{{ food.foodDesc }}

运行示例 »

来自作用域槽的静态数据

作用域槽还可以发送静态数据,即不属于 Vue 实例的 data 属性的数据。

发送静态数据时,我们不使用v-bind

在下面的示例中,我们发送一个静态文本和一个动态绑定到数据实例的文本,以便我们可以看到差异。

示例

SlotComp.vue:




App.vue:


  

{{ texts.staticText }}

 

{{ texts.dynamicText }}

运行示例 »

命名范围槽

可以命名作用域插槽。

要使用命名作用域插槽,我们需要使用"name"属性来命名组件内的插槽。

要从命名槽接收数据,我们需要在使用组件的父级中使用 v-slot 指令或简写来引用该名称 #.

示例

在此示例中,组件被创建一次引用槽"leftSlot",一次引用槽"rightSlot"。

SlotComp.vue:




App.vue:


  
{{ leftProps.text }}
 
{{ rightProps.text }}
运行示例 »

或者,我们可以使用两个不同的 "template" 标签创建一次组件,每个 "template" 标签引用不同的槽。

示例

在此示例中,组件仅创建一次,但具有两个 "template" 标签,每个标签引用不同的槽。

SlotComp.vue 与前面的示例完全相同。

App.vue:



  

  


运行示例 »

Vue 练习

通过练习测试自己

练习题:

需要什么指令才能将数据从组件槽提供给父级?

组件中的本地数据从带有  的槽发送,
并且可以通过  在父级中接收。

CompOne.vue:
:lclData="data">

App.vue:
:"dataFromSlot">
  

{{ dataFromSlot.lclData }}


相关

视频

RELATED VIDEOS

更多

免费

Web前端开发极速入门
初级 Web前端开发极速入门

219920次学习

收藏

免费

前端入门_HTML5
初级 前端入门_HTML5

616946次学习

收藏

免费

30分钟学会网站布局
初级 30分钟学会网站布局

238440次学习

收藏

免费

CSS视频教程-玉女心经版
初级 CSS视频教程-玉女心经版

393054次学习

收藏

免费

独孤九贱(1)_HTML5视频教程

免费

独孤九贱(6)_jQuery视频教程

免费

独孤九贱(7)_Bootstrap视频教程

免费

独孤九贱(2)_CSS视频教程
初级 独孤九贱(2)_CSS视频教程

229605次学习

收藏

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号