作用域插槽

<div id="root"><child></child>
</div>
Vue.component('child', {data(){return {list:[1,2,3,4]}},template: `<div><ul><li v-for="item of list">{{item}}</li></ul></div>`,
})
let vm = new Vue({el: '#root'
})

上面代码,如果此时有个需:child组件在很多地方会被调用,我希望在不同的地方调用child的组件时,这个列表到底怎么循环,列表的样式不是child组件控制的,而是外部child模版站位符告诉我们组件的每一项该如何渲染,也就是说这里不用li标签,而是要用slot标签。

<div id="root"><child><template slot-scope="props">       //固定写法,属性值可以自定义<li>{{props.item}}</li>         //用插值表达式就可以直接使用</template>    </child>
</div>
Vue.component('child', {data(){return {list:[1,2,3,4]}},template: `<div><ul><slot v-for="item of list" :item=item></slot></ul></div>`,
})
let vm = new Vue({el: '#root'
})

<slot v-for="item of list" :item=item></slot>这段代码的意思是child组件去做一个列表的循环,但是列表项中的每一项怎么显示,我并不关心,具体怎么显示,外部你来告诉我.

<template slot-scope="props"></template>这是一个固定写法,属性值可以自定义。它的意思是当子组件用slot时,会往子组件里传递一个item,从子组件接收的数据都放在了props上。

什么时候使用作用域插槽呢?当子组件循环或某一部分的dom结构应该由外部传递进来的时候,我们要用作用域插槽,使用作用域插槽,子组件可以向父组件的作用域插槽里传递数据,父组件如果想接收这个数据,必须在外层使用template模版占位符,同时通过slot-scope对应的属性名字,来接收你传递过来的数据,上面代码,传递一个一个item过来,在父组件的作用域插槽里面,就可以接收到这个item,就可以使用它了。

Vue 中的作用域插槽相关推荐

  1. vue中slot(插槽)详解,slot、slot-scope和v-slot

    slot是什么 slot,也称插槽,可以类比为插卡式的FC游戏机,游戏机(子组件)暴露卡槽(插槽)让用户插入不同的游戏磁条(自定义内容),游戏机会读取并加载磁条里的游戏 Vue的slot,是组件的一块 ...

  2. vue中的slot插槽

    1.无名插槽<body><div id="app">123</div><script src="https://cdn.jsde ...

  3. Vue中的solt插槽

    一.概念: 插槽就是父组件往子组件中插入一些内容. 二.插槽的种类: 有三种方式,默认插槽,具名插槽,作用域插槽 默认插槽就是把父组件中的数据,显示在子组件中,子组件通过一个slot插槽标签显示父组件 ...

  4. vue 中的solt插槽

    插槽的种类: 插槽分为3种,一种是默认插槽.一种是具名插槽.一种是作用域插槽. 插槽的定义: 在子组件中用 <solt></solt> 划出一块区域用来显示父组件中的页面结构, ...

  5. vue的slot作用域插槽使用案例

    slot的使用场景:复用子组件的slot,且slot的内容不同 简单使用案例 子组件 <div><h1>子组件</h1><slot name="ch ...

  6. Vue中的v-slot详解,作用域插槽和具名插槽

    1.具名插槽 有时候我们希望在指定的位置输出我们的子元素,这时候具名插槽就排上了用场. //组件调用时 <MyFooter v-red :age.sync="age"> ...

  7. 「后端小伙伴来学前端了」关于 Vue中 Slot 插槽的使用,实用且也是组件中必会的一个知识,另外也可以实现父子组件之间通信

    前言 插槽可以说是 Vue 中非常重要的一部分吧,在我学习和练习的过程中,当组件搭配着插槽一起使用的时候,会发挥的更好一些.更多时候也会更加方便. 今天介绍Vue中三种插槽吧:默认插槽.具名插槽.作用 ...

  8. vue作用域插槽使用详解

    今天看vue官方教程中的作用域插槽的内容,看了半天都没理解内容,只好动手码代码验证理解.动手是最能促进理解的方法,再去看原文,你会发现都是翻译惹的祸,翻译的真是有点差劲. 作用域插槽,主要是为了在父组 ...

  9. Vue 中的 Render 全面详解 (渲染函数 JSX)

    相信大家都或多或少的在 code 中见过 或使用过 Render,如果你对它还是一脸懵逼,那就快上车!今天就带你来盘它.附 Element 表格自定义全选示例. 文章目录 一.Render 的资料简介 ...

最新文章

  1. linux重定向文件容加时间,linux – 如何在Bash中将stdout重定向到文件时添加时间戳?...
  2. qt 删除文件夹_Qt 贪吃蛇制作(含源码)
  3. Windows 全局钩子 Hook 详解
  4. typedef和#define的用法与区别
  5. redis配置_Redis配置大全(三)
  6. rxjs 里的pipe operator
  7. TCP/IP 原理--链路层
  8. alinq mysql_ALinq 使用教程(移植 Linq to SQL 的利器)
  9. Vue2 模板template的四种写法总结
  10. Oracle忘记密码如何重置
  11. Linux虚拟机中安装vim(超详细)
  12. Android 11.0 app添加校验锁(输入密码才能进入app)
  13. 一种实用的BOOST电路_UC3842升压设计
  14. matlab矩阵size,matlab中size函数用法
  15. Gym 100015 B Ball Painting
  16. 大学生面试着装要求(男生篇)
  17. 分子动力学软件-VMD(win版)
  18. 数据结构算法实现及例题
  19. Android检测仪开发---BleBluetooth 多连接
  20. UI 相机和3D相机重叠显示

热门文章

  1. python的threading安装不了_python – 我无法安装Gevent
  2. 3704对象关闭时_VB中“对象关闭时,不允许操作”解决方案 3704 錯誤 | 学步园...
  3. 分别是什么意思_你知道抗震支架T和TL分别代表什么意思?
  4. 零基础学怎么学Java_零基础学java难么?怎么自学?
  5. java 文件md5校验_Java 获取 文件md5校验码
  6. 旋转矩阵与欧拉角之间的转换
  7. 智能车竞赛技术报告 | 智能车视觉 - 西安邮电大学 - AI小布丁
  8. 双关节机械臂+机械爪运动控制
  9. SP4062电路接口芯片保护IC
  10. BH38旋转编码器初步测试