vue2 作用域插槽slot-scope详解
2024-10-11 01:30:05
插槽分为单个插槽,具名插槽,还有作用域插槽,前两种比较简单这里就不赘述了,今天的重点是讨论作用域插槽。
简单来说,前两种插槽的内容和样式皆由父组件决定,也就是说显示什么内容和怎样显示都由父组件决定;
作用域插槽的样式由父组件决定,内容却由子组件控制。简单来说:前两种插槽不能绑定数据,作用域插槽是一个带绑定数据的插槽。
注意:在 2.5.0+,slot-scope
不再限制在 <template>
元素上使用,而可以用在插槽内的任何元素或组件上。
1.App.vue
<template>
<div>
<child :propName="items"> <!--传值到子组件-->
<!--写法1 -->
<li
<!--作用域插槽也可以具名 绑定slot name="slotName"-->
slot="slotName"
<!--把子组件插槽看作一个对象, 赋给scopeName-->
slot-scope="scopeName">
<!-- dos="item.do" (子组件中)-->
{{scopeName.dos}}
</li>
</child> <!--写法2 es6 的解构写法 推荐!!!-->
<child :propName="items">
<li slot="slotName" slot-scope="{item}">
{{item.do}}
</li>
</child> </div>
</template>
<script>
import child from "./components/child.vue"
export default{
components:{child},
data(){
return{
items:[
{do:'play'},
{do:'eat'},
{do:'sleep'},
{do:'play'},
{do:'eat'},
{do:'sleep'}
]
}
}
}
</script>
2.child.vue
<template>
<ul>
<slot name="slotName" <!--作用域插槽也可以具名!-->
v-for="item in items"
:dos="item.do" <!--取循环中的项作为属性 方便父组件调用!-->
></slot>
</ul>
</template>
<script>
export default{
props:['items'] <!--父级items 传过来的值!-->
}
</script>
最新文章
- iOS 在特定页面 界面旋转
- SQL Convert XML to Table
- Android 仿360桌面小人
- C语言 二维数组复制、清零及打印显示
- FreeMarker标签
- JS中的事件&;对象
- windows10 使用gitblit搭建git服务器
- 分布式内存网格Hazelcast源码导读
- Gradle 1.12用户指南翻译——第二十三章. Java 插件
- Python基础之迭代器、生成器
- 面经 cisco 2
- 【ML入门系列】(二)分类与回归
- odoo配置文件详解
- 操作系统介绍-操作系统历史,IO,进程的三态,同步异步阻塞非阻塞
- Python函数学习
- DES/3DES/AES区别
- Saltstack-API(十二)
- SVG.js Mask覆盖和ClipPath裁剪
- Solr系列一:Solr(Solr介绍、Solr应用架构、Solr安装使用)
- android studio gradle dependencies 包存放在哪儿?
热门文章
- python模块之configparse模块
- mysql杯观锁与乐观锁
- pymysql.err.InternalError: Packet sequence number wrong - got 45 expected 0
- linux磁盘命令-lsblk显现磁盘阵列分组
- Linux直播推流
- Django回顾
- @Override报错的处理
- Mysql与Postgresql
- 王之泰201771010131《面向对象程序设计(java)》第十四周学习总结
- jquery-1.4.4.min.js无法解析json中result.data问题